Skip to main content

Full text of "CBM 8-Bit Magazine Index: Commodore World"

See other formats


cad Bate: a 6 
. 


modore. 


Pieeeeeeecccsccecsssreereeeen 


CAD 
1750XL 


2MB REU 


JAZ GMD) 17.50) 


Features: 
nmodore/ REC controller chip for) 
imum) com Patibslr aN 
Ase) Size—no | 
2 Carinidges) 


Jduae consumption than most 


a) most 


SwiftLink and 


complete with utilities and 


AS aA 


c.0 N fT N T 


ISSUE 23 


COMMODORE 


WORLD 


‘THE NEWS MAGAZINE FOR COMMODORE 64 & 120 USERS 


http://www.cmdweb.com/ewhome.hitml 


Generat MANacer 
Charles R. Christianson 
° 
Eoitor 
Doug Cotton 


Apvertisine Sates 
Charles A, Christianson 
(413) 525-0023 
5 
Grapnic Aerts 
Doug Cotton 
° 
Etectronic Pre-Press & PainTING 
Mansir/Holden 
5 
Cover Design by Doug Cotton 


Commodore™ and the respective Commodore product names 
are trademarks ot registered trademarks of Commodore, a 
division of Tulip Computers. Commodore World Is in no way 
atfilated withthe owner of the Commodore logo andtechnology, 


Commodore World (ISSN 1078-2516) is published 8 times 
annually by Creative Micro Designs, Inc,, 15 Benton Drive, 
East Longmeadow MA 01028-0646. Socond-Class Postage 
Paid at East Longmeadow MA. (USPS #011-801) 


Annual subscription rate is US$29.95 for U.S, addresses, 
US$Q5,95 for Canada or Moxico, USS45.95 tor all EC Countries, 
andUS$57..95 toall other addresses worldwide. Allsubscription 
payments must be provided in U.S. Dollars. Mail subscriptions 
to. CW Subscriptions, c/o Creative Micro Designs, Inc., P.O. 
Box 646, East Longmeadow MA 01028-0646. 


ive Micro 
part of this 

y roduced by any 
means without prior written consent from the publisher. All 
programs published in this publication are for the personal use 
of the reader, and may not be copied or in any way distributed. 
All nghts reserved. Programming examples and routines in this 
issue which are presented for educational purposes may be 
‘used in the creation of programs by the purchaser of this 
‘magazine, provided credit for the routines is clearly presented 
in either the program documentation, or the program itsett 
Creative Micro Designs, Inc., assumes no responsibility for 
errors or omissions in editorial, program listings or advertising 
content. Creative Micro Designs, Inc. assumes no liability for 
advertisers claims or reliability. 


POSTMASTER: Send address changes to: CW Address 
Changes, c/o Creative Micro Designs, Inc., P.O. Box 646, East 
Longmeadow MA 01028-0646. 


° Published June 1998 


KHaTuRneSes 


& Wheeets—Lavinc More THan A Patch 
Bruce Thomas 
14 GOFA-A Mobutar Procranmine System For THe Conmopore 64 
George Flanagan 


Reviews 


24 Sortware: Cenmipeve 128 sy Gaevyne R. Gasson 
A Look at the Newest Commodore 128 BBS Program 


Cotcumns 


26 Just For Starters By JASON Compton 
Helpful Hints for Handling Disk Drives 
30 Graphic INTERPRETATION BY Bruce THOMAS 
GEOS: For a Good Time... 
32 Carrier Detect By Gaetyne R. Gasson 
Telecommunications News & Updates 
36 616 Beat By Mark Fetows 
Things to Look Out For When Programming the 65816 
38 Over Te Eoce ey Jerrrey L. Jones 


Commodore Programming in a SuperCPU World 


DeEraRTMENTS 


From tHe Eoiror 
On Tre Horizon 
Conmopore Trivia 
Cuassirie> Aps 
Apverriser’s INDEx 


eS 
Soon 


COMMODORE WORLD 


WHEELS ON THE MOVE 


In Issue 22's editorial I indicated that two new GEOS 
updater's were scheduled to release soon. While we 
haven't heard anything more about GEOS MegaPatch 
v3.0 yet, Wheels 64 has squealed past the starting line 
and is presently burning up the track. It is indeed a 
pleasure to see such a powerful new system released at 
this point in the history of Commodore computing. 
Inside this issue we provide some first impressions of 
Wheels 64; however, we'll also be revisiting this 
subject in a future issue after looking into technical 
aspects of driver speed, compatibility and other issues. 

Other things you'll find inside this issue include a 
modular programming system for the Commodore 64, 
a review of the Centipede BBS program for the 
Commodore 128, some tips on dealing with the Y2K 
(Year 2000) problem in GEOS, and some situations to 
avoid when programming the 65816. 

In addition, there’s a rant to programmers about 
avoiding the tendancy to become lulled into writing 
slow code simply beacuse they have a SuperCPU. I 
broke this out from the rest because I think it bears an 
editorial comment. While I tend to agree with the 
opinion put forth on the matter here by Jeff Jones, 1 
think that it fails to strongly point out that such 
guidelines needn't be followed when writing programs 
for your own use. Many BASIC programmers will find 
that the SuperCPU enables them to create programs 
which would have otherwise run too slow. However, I 
do still encourage anyone interested in machine 
language to learn it and take advantage of it when 
possible—whether you have a SuperCPU or not. 


Doug Cotton 
Editor 


Issue 23 


Orde: 


Loadstar #165 


Contents 
Star Copier '98 
Thanks to Bob Markland, our 
handy file copier is fixed! 
Fission 
This mouse-driven card solitaire 
is also one of Maurice's best. 
Mansion 
Using Cameron Kaiser's 
WORLD MAKER system, John 
invites you into the Charles 
Mansion, where no good deed 
goes unpunished. 
Puzzle Page #165 
Number-teasers, word-puzzles 
and brain-stumpers a-plenty! 
Plus, Knees’ monograph on 
mystery mores. 
Legal Beagle III 
Generate some more legal 
documents which you can 
customize for your own use. 
A Night On The Town 
Take a musical trip from the 
quaint eateries of the outer city 
into the heart of darkness we 
call "uptown", 
Room - 4k Contest Winner 
‘Asmall demo that gives you a 
glimpse of what the world of 
DOOM is like. 


NAME: 


SO, YOU THOUGHT YOU COULDN'T AFFORD LOADSTAR? 
Now YOU CAN BUY IT EVERY MONTH BY MAIL FOR 
LESS THAN IT COST IN THE EIGHTIES ~ BUT PACKED WITH MORE! 


(800) 54-3370 Questions 


Bill Gates Attacked 
By Professional Pie 


‘An Interview With 
Maurice Randall 


LOADSTAR LETTER #54 


Wheels/GeoFAX 
Sweepstakes: 
ty 


i ‘Jinformative, and 

{authoritative 
newsletter available 
for the Commodore 
64 and 128 


(318) 221-8718 


Twin Terrors 
For one or two players, this 
exciting game offers 99 levels 
‘of jumping and shooting. 
Gershwin Jukebox 

Eight memorable tunes by 
George Gershwin, including 
Rhapsody in Blue (in three 
movements), the three 
Preludes, and Swanee, made 
famous by Al Jolson. 
Quicksmith Music 

31 songs by musicologist Dave, 
all converted into the 
QUICKSMITH format by Lee 
Novak. 

Clip Joint #2 

A geoPaint document chock full 
of attractive images just ripe for 
clipping. 

Geos Disk Tools 

Ten tools for the Geos 
environment that will make your 
navigation faster and easier. All 
are well explained by our Geos 
Man About Town. 

Diskovery 

Your editor confronts another 
crisis, mourns a prolific C-64er, 
describes a new product, and 
introduces a Euro company. 
Jeff's Soapbox 

Jeff mediates (or aggravates?) 
the battle of the operating 
systems. 


LC CHECK OR MONEY ORDER TO: 
PO Box 30008, SHREVEPORT LA 71130-0008 
CALL 1-800-594-3370 AND ORDER THIS MONTH'S LOADSTAR FOR $7.95 
OR ORDER THIS MONTH’S LOADSTAR LETTER FOR $2.00 
OR GET BOTH FOR $9.95! ALL MAJOR CREDIT CARDS ACCEPTED. 


Centsible Software 

A list of 50 commercial “in the 
box" programs from the world's 
largest CBM software store 
Modern Printers 

Looking for a new printer for 
your C-64/128? Read this first! 
Master Of Trades 

In memory of a dedicated 
Commodorean, we present Part 
@ One of his autobiography. 


eececeseeecerssceceseco sees seeeeoseoee 


REACH US ON THE WEB! 

HTTP:/ / WWW.LOADSTAR.COM 
FENDER@LOADSTAR.COM JUDI@LOADSTAR.COM 
JEFF@LOADSTAR.COM 
OR FAX YOUR ORDER TO (318) 221-8870 


ADDRESS: 


Newsletter Naniskad 

A compilation of tidbits from 
newsletters from all over the 
world. 


‘All programs tested and known to. 
work with your SuperCPU™ and 
all CMD devices. Over 200K of 
month 


documentatior 
automatically presented on disk. 


#LSCW I 


LD send me Loadwarn16s fors79s I] Seinhdsk [1] Stinchadk [DD sent re The Landa Leer #4 for $2.00 LD sent nn or $995 
Credit Card Account * 
xp. Dato Signature : 
Issue 23 3 COMMODORE WORLD 


COMMODORE AND COMPUTER INDUSTRY NEws 


Wheels 64 Released 

Maurice Randall's Click Here Software has recently started 
shipping the initial release version of Wheels 64. The 
program is a substantial upgrade for existing GEOS 64 v2.0 
owners, adding a new interface and completely 
revamping the existing GEOS Kernal viaa patch installation. 
In addition, Wheels provides extensive support for nearly 
all of the major Commodore-compatible peripherals 
released over the past few years. Wheels requires a minimum 
of a Commodore 64, GEOS 64 v2.0, a GEOS-supported 
input device, a 1541 disk drive andan REU or other standard 
RAM device. The price for Wheels 64 is $36.00, and it is 
available directly from Click Here Software and authorized 
dealers. For additional details, see the feature article in this 
issue or contact Click Here Software at: 


Click Here Software 

c/o Maurice Randall 

P.O. Box 606 

Charlotte MI 48813 

Phone: (517) 543-5202 Monday-F' 
: arca93@delphi.com 


riday 8 am - 6 pm 


Commodore Power User Is Back 

Aftera long absence, Commodore Power User has returned 
to publication. CPU Publisher Tom Gosser has also 
announced that distribution of the magazine be bimonthly 
as of the #6 1998 Issue. Additional writers have been added 
to the mix, and a subscription price increase has also been 
announced. The new annual 6-issue subscription rates are 
US$20.00 (US addresses), US$30.00 (Can/Mex), and 
US$40.00 (EC and others). For additional details, contact: 


CPU Magazine 
P.O. Box 1817 
Shelton, WA 98584 


COMMODORE WORLD 


Desterm Updated Beta Available 

After several weeks of testing and bug fixing, Matthew 
Desmond has released an updated Beta version of Desterm 
128, a Commodore 128-specific terminal program. In 
reality, two updated beta version have been released in the 
past few weeks; the first, v3.01, fixed the majority of reported 
bugs, but introduced a rather nasty bug of its own. Several 
days later a new version 3.02 was released which resolved 
the new problem. The new release is still considered to bea 
beta test version, so be aware that additional bugs may 
exist. For additional information, or to obtain the current 
version, visit the Official Desterm web page at: 


http://www. ionline.net/~mdesmond/desterm.html 


CMD News Items 
CMD recently disclosed that all pre-ordered SuperCPU 128 
units have been shipped, and that they are also current on 
orders for both the SuperCPU 64 and SuperCPU 128. In 
addition, prices on many of the SuperCPU/SuperRAM 
configurations have been rolled back for a summer sale. 
This obviously marks the green light for anyone who has 
been waiting until SuperCPU’s were available from stock. 
CMD has also discontinued carrying Zoom modems, as 
Zoom recently designed-out the Group 3/Class 2 fax 
protocol required for GeoFAX compatibility. For the time 
being, CMD will be offering US Robotics Sportster 33.6K 
bps fax modems instead, which provide Group 3/Class 2.0 
capability, and are compliant with GeoFAX requirements. 
CMD hasalso announced a temporary ‘bundled’ price for 
GEOS 64 v2.0 and Wheels 64. For a limited time, the two 
items which normally cost a total of $80.00 will be offered 
together at a price of only $65.00. Nearly all other GEOS 
applications have also been reduced for the summer. 


® 


Issue 23 


GENTSIBLE JOFPTWARE 


We carry America’s Largest Selection of C64/128 Software 
We have new shipments of 


GeoProgrammi x Supplics, Accessories, Hard- | Team Mate. 
Better Working .00| ware and Software arriving | Datamanager . ¢ 


monthly. C_pecessuriest re} Mapping the 64 


C128 Superbase 128. .00| New this Month....... Dust Severs 
64 Power Pack. 00] Tach 30 Joystick...$19.95 | chest sheets 00 | / Seas, wb 
Tach 5 Joystick....$17.95 | (Call for Choices % nee 
Big Bird's Fun House.. .00] Tach 3 Joystick.....$15.95 (C Hortunres_—_) 


Money, Busines “‘9o| Icontroller...........+ $24.95 


Animal Hotel 


$15.95 


(Call for choices) 


Disk Special 
51/2” Floppy Di: 


John Elway Quanterback...512.00 | Mindscape 
‘Wrath of the Demon, 5. P Pl 
Death Knights of Kryn x ‘ower Player 


P-15 Surike Eagle. 001 Joysticks...$9.95 


7.00 per order. Call or Write for your free C64/128 Catalog listing Hundreds of Commodore items. Geowrite Workshop 
Office hours are 1PM to 8PM EST Monday thru Thursday. Info Line:1-616-471-1083 $14.95 
Fax Orders:1-616-473-3456 = 
Penal eoeeerernncon f # To Order call Toll Free:1-800-640-6211 
Web Site: home.sprynet.com/sprynet/cents 
Major Credit Cards Accepted 
Mail: 8818 College Ave., Berrien Springs, MI 49103 te 


The Commodore LASER LOVERS’ DISK! 
When you care enough to print the very best! 
How many times have you looked at print media and asked, “Why can't 
Ido this on my Commodore?” Perhaps now you can! (801 )466-8084 


My “LASER LOVERS’ DISK” contains Maurice Randall’s 
POSTPRINT which will enable you to send PostScript files from : 
geoWrite documents, [have been printing PostScript fromthe Commodore |_| Specializing in NEW and USED Commodore Hardware, 


for over six years. This disk contains all the S laser fonts resident in Software and Accessories at excellent prices. 
your printer and a few PostScript fonts that aren't, Included is 
history of PostScript on the Commodore, an introduction to PostScript Sond $1.00 for a HUGE list of products. Office Hours: 

programming specifically designed for Commodore users, and many 1880-030 MST. Visa, MG, Mcoioe iad Maar ey 


sample programs which you may include in your own documents. 


drive (such as a 1581, 
ript laser printer. 


You should have GEOS 2.0, a large capaci 
RAMLink, or CMD HardDrive), and a PostS 
Mail a $25 check to K, Dale Sidebottom P. O. Box 303, New Albany IN 
47151-0303, Call (812)944-9132 if you have any questions. 


3366 South 2300 East, Salt Lake City, UT 84109 


*“ Vintage Computer 

Do You Wish You Had More Commodore News? Specializing in Pre-Owned Commodore 
C-64 w/PS $19.95 
C-128 w/PS $59.95 
P.us4 w/PS $18.95 
VIC-20 w/PS $18.95 
C64c w/PS $49.95 


There just aren't enough good Commodore magazines around, 
Commodore World being one of the few. Have you considered subscribing 
toa good newsletter? The LUCKY REPORT isatwelve-page newsletter 
published 11 months of the year for LUCKY, Inc.,a Commodore club that 
is almostas old as the 64 itself. The editor, K. Dale Sidebottom, has been 
published in many Commodore publications. We invite you to check us 
out now! You may send only $5.00 for your first four issues; or, if you 


wish, mail in $15.00 foran annual subscription. If youadd $5.00 [$20 total .. AND MORE! 

price], you can become a LUCKY member with full access to our 1000+ 

disk library, etc. ; 61 9-445-8432 : 

Make your check out to LUCKY and mail to LUCKY, Inc. Vintage Computers 520 Silverbrook Drive, El Cajon, CA 92019 
c/o K. Dale Sidebottom P. O. Box 303, New Albany IN 47151-0303. Email: vintagecomp @ fda.net * Web: www.vintagecomputer.com 


Issue 23 5 COMMODORE WORLD 


by Jim Brain 


Welcome to another edition of Commodore Trivia. 
As many of you may know, these trivia questions 
and answers have been donated by me to the 
Commodore community at large. Unlike other 
articles in Commodore World, these trivia 
questions have been placed in the public domain. 
Task only that the trivia questions remain intact 
and unchanged, and that my name and address 
appear somewhere so users can contact me, The 
trivia is also used fora contest [run on the Internet; 
contact me at the included address for more 


COMMODORE TRIVIA 


information. Because curiosity has the best of me, 
lalwayswelcomea note or postcard detailing where 
the trivia goes. I also welcome new questions— 
provided they come with the answers. Enjoy! 


Jim Brain 
Brain Innovations, Inc. 
10710 Bruhn Ave 


Bennington, NE 68007 
j.brain @ieee.org 


COMMODORE TRIVIA #22 QUESTIONS 


$1A0 


$1A1 
$1A2 


$1A3 
$1A4 


S1A5 
SIAG 


S1A9 


SIAA 


S1AB 


$1AC 


Commodore produced an assembler for the 128 called 
HCD65. What does HCD stand for? 

Who wrote most of RAM DOS? 

What is the name of the first C64 disk copy program? (hint: 
it sported a “gas gauge”.) 

What was the case color of the original Commodore 64s? 
There are at least two ways to enter 64 mode from 128 mode 
on a C128: go 64 and sys 65357. They produce the same 
result (64 mode), but they differ in at least one noticable 
way. How? 

What CPU powers the B-128 computer system? 

What type of drive me 
drives from Commodore? 


anisms 


ein the D series hard 


7 Commodore produced a 16kB RAM expander for the 


Commodore VIC-20, What is its model number? 
Commodore produced at least one disk drive with an optical 
track one sensor, Which drive? 

The Commodore PET series used the IEEE bus to 
communicate with peripherals. Each peripheral had a 
unique ID, What range of IDs are supported by the PET? 
Many people have developed Commodore software with 
the PAL assembler. What does PAL stand for? 

Many people remember Compute’s Gazette, This magazine 
is best known for the word processor program it shared 
with thousands of subscribers. Name the program? 
In some 6502 assemblers, the opcode “bge” is available. It 
stands for “branch if greater than or equal to”, What more 
common opcode is this opcode referring to? 


$1AD If I wanted to do a “bit” (branch if result less than), what 


S1AE 


6502 opcode would i use? 
h Commodore peripheral has a device number, which is 
associated with a type of device. 8-15 implied disk drive, 4- 


COMMODORE WORLD 


SIAF 


$1B0 
$1B1 


$1B2 
$1B3 
$1B4 
$1B5 
S1B6 
S1B7 
S1BB 
$1B9 
SIBA 
SIBB 
SIBC 
$1BD 
SIBE 


S1IBF 


5 implies printer. These have remained constant from the 
PET to the C128. However, one peripheral in the PET was 
phased out and its device number was reused. What device 
number was reused? 

What is the maximum amount of general purpose RAM can 
one utilize in a stock C64? (I need an exact number here) 
What was COMPUTE!'s original sub title? 

After COMPUTE! was absorbed by General Media, how did 
the name change? 

What Commodore content magazine was named after a 
nautical term? 

What Commodore content magazine was named 
BASIC keyword? 

What CPU gets control first when a Commodore 128 is 
booted? 

What CPU powered the Commodore C900? 

How large is the monitor installed in the SX64? 

What color scheme does the SX64 boot up into? 

What is printed as the stock SX64 boot up screen? 

‘The SX64 has a reset switch behind the door that holds the 
monitor controls, What is strange about the rest switch? 
What common port is not included on the SX64? 

In the mid 1980's, a company called Berkeley Softworks 
created a graphical user environment for the Commodore 
64, What was it called? 

Berkeley Softworks eventually changed their name to what? 
Most everyone is familiar with MSD disk drives. What does 
MSD stand for? 

On the NMOS 6502, what two addressing modes have but 
one opcode each that can operate in that mode? 

How many transfer register opcodes are there on the NMOS. 
6502? 


after a 


Issue 23 


r- 


COMMODORE TRIVIA #21 ANSWERS 


$180 


$181 
$182 
$183 


$184 


$185 


$186 


$187 
$188 


$189 
$18A 


$18B 


$18C 
$18D 
$18E 
$18F 
$190 


You had better sit down... The 1525 is powered by an Intel 
8039 8-bit microcontroller. Actually, thisisn’t so hard to believe, 
since Commodore didn't actually develop the printer, but used 
a Seikosha GP-100 printer mechanism for the unit, and most 
likely contracted Seikosha to develop the firmware. 

80. - inches of usable paper 
width. 

The Juki 6100 printer mechanism. 

It is daisy-wheel, but Commodore made other daisy-wheel 
printers. What makes it unique is that it is the only such 
serial daisy-wheel made for the Commodore line. 

The first to offer some kind of DTMF support was the 
Commodore 1660 modem. The modem itself didn’t provide 
any DTMF support, but included a cable to allow the SID to 
output to the phone line. Thus, with the SID's ability to 
reproduce DTMF tones, the modem could tone dial. Note 
that this was only possible on the C64, which has a SID, The 
first model to INCORPORATE DTMF into the modem itself 
was the 1670, 

By develop, we are referring to actually produced models. 
With that definition, the 1581 holds this title. For models 
not actually produced, The prototype 1590-D-1 3.5" 1.44 
MB model owned by Jack Vander White probably was the 
last under development. 

If you discount the screen area (512 bytes) and Color RAM 
(512 bytes), up to 28159 bytes can used for BASIC programs 
and variables (original 3583 bytes and 3 banks of 8192 
bytes each), and up to 40448 bytes can be used for ML 
programs. (0-32767 minus 512 bytes for screen and 40960- 
49151). 

COMPUTE!'s Gazette. 

The PET Gazette. The PET Gazette was started in April 
1978 by Len Lindsey. For the first year, the magazine was 
sent out for free to at times 4000 people. In August of 1979, 
Small Systems Services, headed by Robert Lock, purchased 
the magazine from Len and changed the name to COMPUTE, 
The fe changed from PETs to all computer systems at 
that time. The first issue of COMPUTE, appeared in the Fall 
of 1979, It seems the relationship between Len Lindsay and 
Robert Lock was less than ideal, but I refer readers to INFO 
#15, page 8 for the scoop. 

COMPUTE. changed to COMPUTE! Notice the change? 

In the mid 1980's, LOADSTAR distributed the type in 
programs for both magazines in the disk magazine. 

The CSG65CE02 CPU, clocked at up to 3.54 MHz in the 
Commodore 65 (64DX) prototype. 

Any byte between 32 and 63 will produce identical results. 
chr$(14) 

chr$(142) 

open 1,0:input#0,a$ 

The Other Intellect. Evidently, it was the computer the CBM 
engineers were working on before the VIC-20 project. The 
name sounds like it was dreamed up after the fact. In either 
case, this machine might have been the “Color PET” mentioned 
in The Home Computer Wars that Chuck Peddle was designing 
before the company shifted to the VIC architecture. 


‘olumns per inch times 


Issue 23 


$191 
$192 
$193 
$194 


$195 
$196 


$197 


$198 


$199 


S19A 


$19B 
$19c 


$19D 
S19E 


S19F 


32 and 96 or 160 and 224. Space and Reverse space. 103 and 

106 or 101 and 116. Left and right lines. 

chr$(8) and chr$(9), respectively. 

chr$(8) and chr$(9), respect 

chr$(11) and chr$(12), respectively, while in 128 mode. 

108. 

To put commas in strings read via INPUT. Remember, 

INPUT treats a comma (chr$(44)) as a delimiter between 

input fields, but chr$(108) does not produce the same effect, 

so you could replace 44 with 108 in data written to disk, and 
it in with INPUT. 

Jim Butterfield supplies us the 
“The original PET 2001 suffered from the same kind of 
“sereen sparkle” that was later seen in the early 
Commodore 64, So the original code would write to 
screen memory only during the “refresh” period; that 
really slowed down the speed of output to the screen, 
By the time the first revised PET came out, the screen 
sparkle was solved, and characters were delivered to 
the screen with no wait. (The new operating system 
also did a massive relocation of system variables, and 
used zero page very heavily, to the dismay of home 
programmers. When asked about this, Commodore 
pointed proudly at the “new, higher speed”. But in fact 
it was the screen reorganization that caused 95% of the 
improvement).” —Jim 

Related to this question is $00C, which implies that the 

“sparkle” problem was fixed in the original PETs, so some 

people increased the performance of the original PET by 

setting the RETRACE line mentioned above to an output, 
which fooled the system into thinking the video was 

ALWAYS in RETRACE mode. 

Borge Christensen and Benedict Lofstedt, although Borge 

is given the most credit. 

The following is excerpted from The Whole PET Catalog, 

page 21: 

“PET PROVEN USEFUL” During the 1980 MGM Grand 
fire in Las Vegas, Commodore moved its entire 
COMDEX ‘80 booth dowstairs to help track rooms, 
guests, ete. According to InfoWorld, 7 PETs with OZZ 
data-bases (predecessor to SILICON OFFICE) were used 
for two straight days. Local police agreed they could 
not have kept of the guests as well as the PETs did. 
Also, untrained operators quickly learned the system, 
In the crisis, PET was both powerful and useable. 

Bill Seiler, the able assistant to Chuck Peddle, designed the 

unit. 

No answer available yet (I can’t find my notes!) 

If done immediately prior to an INPUT, the poke will 

suppress the question mark prompt. 

BASIC 1.0 

He is one of the founding fathers of the Toronto PET User's 

Group (TPUG), along with Jim Butterfield. 

The name “Sphin: chosen because of the way early PETs 

resembled the Great Sphinx, the Lion with the head ofa pharoah. 


r 
answer: 


© 
* 


COMMODORE WORLD 


Laying More 
Than a 
PPaatela... 


omeone once said “Themore things change, 
the more they stay the same’, Obviously, 
that person never changed from using 
GEOS V2.00na Commodore 64 to using thenew 
Wheels upgrade from Maurice Randall of Click 
Here Software. 

The first thing that struck me as being 
different was the sticker sealing the envelope. 
This identified the contents as Wheels V4.0 
for the C-64 and reinforced the automotive 
theme by listing my VIN (Vehicle Identification 
Number). It is not surprising that this theme 
runs throughout the entire package as Maurice 
runs his own auto repair shop and used to race 
cars as well, 

The envelope contained a Cerlox-bound 
manual (46 full size pages plus an Index and 
Appendix), an insert outlining other software 
products and planned improvements plus one 5 
1/4" disk. 


Got a License? 
The first thing you need to know, before even 
ordering your new set of Wheels, is if your 
system is big enough to drive. Wheels is 
designed as an upgrade to GEOS V2.0 so you 
must have an original boot disk, The minimum 
hardware required in addition to your C-64 
(or C-128 in 64 mode) includes a 5 1/4" disk 
drive (1541 or 1571 preferred), an input device 
(joystick or better yet a mouse), a TV or 
monitor of some kind and at least a 1700 
(128K) RAM Expander. This last item is the 
most important as Wheels will not operate 
without some form of RAM Expansion. 

When GEOS V2.0 arrived in 1988 the 
thought of a single user having 16 MBs of 
RAM was a pipe dream—on any platform! 
Today, with my RAMLink max'd out and my 
SuperCPU topped up, | have 32 Megabytes of 
usable RAM on my 64, 

In 1988 a C-64 ran at 1 MHz. Today we have 
options of 1, 4, 8 and even 20 MHz speeds. 


Issue 23 


In 1988, ifyou were lucky, you could fit 800 
KB on a floppy, Today we can put 1,6 
Megabytes on a floppy disk using drives still 
available new (and 3 
you find a used one). 

As you can see, things have changed but, 
using GEOS V2.0, they nevertheless stayed 
the same. The system wasn’t designed with 
the flexibility required to handle the hardware 
that would be developed. As users, we were 
stuck—unable to go where we wanted to with 
our new machinery. 

Wheels changes all of that. Wheels was 
designed from the ground up to handle all of the 
high performance accessories the modern day 
Commodore user has at his disposal. 


Zz 


GLOWRITE GEOPANT GEOASSENOLER 


GEOLIRER  9RCEAELL OLCPEDUONER DUDDIC? 


Your Wheels boot disk will crank over at 1, 
4 or 20 MHz with no changes at all (the Flash 
8 unit hasn't been tested). Do you have a 
populated RAMLink or SCPU? Believe me, 
there is nothing quite like seeing 15471 KB 
Free in a 16 MB partition, Do you want to use 
the Native mode of your FD or HD drives? 


Support for this is built-in as well as the use of 


subdirectories to organize your storage, 

The more your system has, the better ride 
you'll get. If you have met, or exceeded, the 
minimum requirements it is time to get things 
into gear. 


8, 


2 MBs on an FD-4000 if 


I with the 
ndle the 


Park It 

Before driving your new set of Wheels you 
need to install it. To follow the theme maybe 
this should be ‘in stall’ (as in park your wheels 
in your stall and register it as yours). 

The disk is copy protected and only one file 
is visible in the directory. The ‘Installer’ should 
be run after booting with your original GEOS 
/2.0 disk. You will be prompted for your name 
(for the registration papers) and your original 
disk during the install process. Once the 
program verifies your boot disk and the 
condition of your drive it unpacks all of the 
necessary files and creates your original 
Wheels Master Disk. Put a write-protect tab 
on this disk immediately. 


Wheels For The First Time 

After running ‘Starter’ (what did you expect it 
to be called?) the screen turns blac! the 
system loads (use the ‘up-arrow ) 
shortcut instead of ‘Shift-Run/Stop’, On fast 
systems your finger isn’t off the Stop key before 
the program loads and you are left staring at a 
black screen). After a short while an image of 
a wheel spinner fills the screen, 

Before the process is finished you will have 
to answer a few questions, What type of RAM 
do you want the system to use? What boot 
options do you want to be applied to your 
RAM? What Input Driver do you want to use? 
These questions only appear the first time you 
boot the system (or when your hardware 
changes) and are saved to the disk, which is 
why your original should be write protected. 
Any real drives numbered 8 to LL are identi 
and installed during the boot process a 
your input and printer drivers, 

Once Wheels is running you will be looking 
at the Dashboard. This new System File 
replaces the Desktop. The screen displays a 
menu across the top and a clock in the top 
right corner (flashing ‘set clock’ annoyingly 


COMMODORE WORLD 


until you do). The only Icons you will see a 
down the left side of the screen representing 
your mounted storage devices. 

The active drive will app 
compared to the other icons, Double-Clicking 
ona drive icon will pop up a directory window 
for the disk/partition identified by the name 
under the icon. This is where things really 
start to change. 


e 


reversed 


No Roadside Emergencies 

The original Wheels disk contains a program 
called MakeSysDisk which is used to make 
spare boot disks or partitions, as well as more 
Master Disks (MakeSysDisk can only be run 
from a Master Disk). Keep in mind, though, 
that your name and VIN are stamped on every 
Boot and Master Disk you make (and visible 
in the Dashboard and Toolbox Info boxes). 


Once you have made a few spares put your 
fe keeping, 


original away for 

Boot disks can be created on 1541 disks, 
1571 single or double-sided disks, 1581 disks 
and RAMLink, RAMDrive, FD and HD drives 
with 1581 or native mode partitions. Unlike 
GEOS V2.0, which had to be in partition #1, 
Wheels can boot from any partition on your 
CMD devices and any Drive #8-11 (with 
exceptions for RAMLinks). 


The Dashboard 

Maurice really put a lot of effort into 
programming this new system, He also put a 
lot of thought into the names he used. The 
Dashboard may seem like an odd name for a 
piece of software but, when you think about 
what is constantly in front of you when you're 
driving, it makes perfect sense. 

Along with your new set of Wheels comes 
the need for a new way of thinking. Up until 
now, GEOS didn’t allow us to fully utilize our 
CMD hardware. While it is easy to create 
subdirectories and partitions on these devices, 
from BASIC or JiffyDOS, the GEOS system 
didn’t recogni ything but standard 
Commodore formats. 

The Dashboard has easy menu options to 
create subdirectories and for navigating 
around your directory structure, There is no 
chance of mis-using these commands as they 
are only active if the selected object isa CMD 
partitionable device or native mode partition. 

One of the great features of Wheels is the 
ability to have four drives active at once. Not 


only can you open windows for each drive but 
you can copy to/from any window you want 
to. The windows are totally resizeable and can 
display from 1 to 20 icons at once. If you 


COMMODORE WORLD 


prefer, a text display is available and 
operational also. 

Each object on the Dashboard is treated 
separately and options work on the selected 
item only. Once you have opened a window 
ismakes 


you can select the driveicon again 
it possible to open more than one partition on 
a single drive. 

Customizable Function Keys provide the 
user with full control over window contents. 
Do you want to see just the Applications or 
Desk Accessories and Fonts? Do you want to 
see empty directory slots (try the MODIFY 
setting) or a continuous stream of icons? 


The Toolbox—4 Wheels Drives 

The Toolbox is an application that can be run 
by the user at any time. It also runs invisibly 
during the boot process to inspect your 
hardware and install the proper drivers. While 
| previously described four drive operation in 
respect to the Dashboard it is really the 
Toolbox that makes this possible. 


This program takes the place of Configure 
allowing you to setup which drives will be 
active and what format they will have. CMD 
devices can be installed as 1581's (using 1581 
disks/partitions) or native mode devices 
(accessing 1581 and native mode disks/ 
partitions) changing the disk icon on the fly to 
indicate the selected type 

The Toolbox even revitalizes your 1581 drive 
with a special driver that allows it to use 800KB. 
FD Native mode disks. With these disks (yes, 
the 1581 can format them) you will have full 
access to subdirectories just as if you had an 
FD drive (I have both drives and this is cool). 

The Toolbox also detects and uti 
accelerator if one is present. No boot disk 
customization is required to run with an 
accelerator. I can disable my SCPU and boot 
from the same RL partition as I do with my 
SCPU enabled. Any RAM installed in the 
SuperRAM card of a SuperCPU is also 


es an 


10 


automatically detected and used by the system. 
The Schnedler TurboMaster accelerator will 
power Wheels as well. 


Under the Hood 

Maurice didn’t just replace the Desktop and 
Configure programs. He rewrote the Operating 
System Kernel as well. 

he changes to the kernel affect the 
appearance of the menus in all of your 
applications (no dividing line separates the 
menuitems). Dialog Boxes have been reworked 
to handle the new hardware (when you see a 
DISK icon you may be able to access 
subdirectories in the current partition), In 
addition to pressing the RETURN key to 
activate an OK icon you can now press the first 
letter to activate some system icons (‘C’ for 
cancel or ‘D' for disk), 

Running an application from Drive C or D 
does not renumber the driv id you have 
full access to the data files on the drive you run 
the app on (once you select the DRIVE button 
youare limited to Drives A and Bas that would 
require a rewrite of each application to 
change). Don't double-click your data files on 
Drive C or D as the apps will load but won't 
find your file. Rather, load the Application 
and then OPEN your file. 


Roadworthy 
By now youare likely wondering how all of the 
new features of Wheels will affect what you 
have been doing with GEOS. I have run the 
major BSW apps plus as many auxiliary 
programs as time permitted under Wheels 
with no ill effects. Desk Accessories seem to 
work just as they always did (with special color 
help). Programs written with four drive 
capabilities function flawlessly. Your old 
printer drivers still work under Wheels. 
Custom mouse drivers (for the 1351 and 
SmartMouse) configure the right button for 1 
MHz clicking, After years of using a 4 MHz 
TurboMaster I find this helpful. Quite often 
the accelerator would have to be manually set 
to 1 MHz to allow easy selection ofa pattern in 
geoPublish or just the right font size in 
geoWrite, With a simple right click J can now 
ss what I want easily. Drivers are supplied 
where the right button double-clicks and also 
ith the buttons reversed for left-handed 
users, 
Maurice has taken a rather bold move in 
light of the present proceedings against 
Microsoft. Under the ‘wheels’ menu there is 
an option to activate geoShell if it is on your 
system. Now, Click Here Software isn’t as big 


Issue 23 


=X PAN D 
YOUR SYSTEM 


5B SLOT CARTRIDGE PORT EXPANDERS 


The EX2+1 and EX3 Cartridge Port Expanders bring new 
expandability to you Commodore 64 or 128. Combine the 
use of compatible cartridges. Disable cartridges notin use. 
Change the address your computer finds a cartridge at. 
Avoid the constant changing of cartridges that puts extra 
wear on your cartridge port. The EX3 offers 3 vertical 
expansion slots, while the EX2+1 provides 2 vertical slots 


64/1541 Repair - $40 
*SPECIAL* 
C64, 1541, J-S+Sfi. - $99 


We carry a full line of hard- 


p ware, software & ma, 

< Hines, both new & used 
z cluding European items. 
EveythingforCommodoreComputers Our flat-rate repairs. in- 
Sell- Trade + Repair» Buy clude both parts & labor. 


1420 County Rd. 914 
Burleson, TX 76028 
817-295-7658 
817-447-6974 - Voice/FAX line 
[ALL STORE ITEMS HAVE A 90 DAY WARRANTY. IF, FOR SOME 

‘YOU ARE DISSATISFIED IN YOUR PRODUCT, YOU MAY 


[RETURN IT FOR REPLACEMENT OR STORE CREDIT ONLY 
SORRY, HO REFUNDS. 


Call for details. Trade in 
your unwanted items. 
Catalog - $2.95 
Au Muuor Creor 
Carps AccerTeo. 
We carry a full line of 
Amiga Products. 


and 1 horizontal slot. Both units offer 7 switchable signals 


per slot, address mapping on slot 2, and a reset button. 


CALL 1-300-638-3263 


$34.00 


Plus SH 


$39.00 


Plus SM 


Creative Micro Designs, Inc., P.O. Box 646, East Longmeadow MA 01028 


SmartMouse today! 


* Three buttons means convenience! If you're a GEOS user, the left 
button is configured as single click, the right as a handy double 
click and the center button is the TURBO button which doubles the 
speed at which the pointer moves across the screen. All three are 
fully programmable for other application. 


* SmartMouse uses the same custom gate array chip as the 
Commodore C-1351 mouse to guarantee 100% compatibility. 


+ Switches easily into joystick emulation mode on power-up by 
holding down the right button. 


RAY MON D 


For years, Commodore set the standard with the 1351 mouse. Sure, it was vastly superior to 
using old digital input devices like the 1350 mouse or joysticks. But everything can be improved. 
Guaranteed 100% 1351-compatible, SmartMouse does everything the C-1351 does and more! 
This highly intelligent, three-button input device includes a built-in battery-backed Real-Time 
Clock, along with double-click and Turbo features for GEOS. Plus, it comes with a complete set 
of utilities for using the clock in GEOS and BASIC applications. Modern ergonomic designs 
makes SmartMouse a smooth operator that’s a pleasure to use. So, if you're tired of the slow, 
erratic movement of your current input device, make the intelligent choice and pick up a 


SmartMouse is the Most Advanced 
Mouse Ever Created for the 
Commodore 64 and 128 Computers! 


COMPUTER 


Commopore Software (new and used) plus hardware, 
expert repairs, cables, ribbons, blank disks, books 


Visa / Master Card / Discover / Amex / Bravo 
e-mail raycomp @visi.com 
795 Raymond Ave. 612-642-9890 vox 
St. Paul, MN 55114 612-642-9891 fax 


$49.°5 


Plus SM 


SmartMouse utilizes the same advanced technology used in today's 
powerful 486 and Pentium PC’s, providing you with unparalleled 
accuracy and smoothness. 


Built-in battery-backed Real-Time Clock automatically sets the GEOS 
clock, displays time and can be used in your own programs. 


Includes utilities disk and detailed manual explaining the utilities 
and programming information. 


Attention Lefties! SmartMouse can be altered for left handed use. 


Issue 23 1 


COMMODORE WORLD 


as Microsoft and, as far as 1 know, nobody else 
offers a CLI for GEOS, but Maurice may be 
asking for trouble down the road. All in all 
this integration is a welcome addition and 
some new geoShell commands ship with 
Wheels, 


Potholes 

While the overall manual is well written, and 
covers a lot of what the system can do, I found 
a number of items that were lacking. 

While Maurice kept most of the keyboard 
shorteuts from the old Desktop some have 
changed to accommodate new features (C= M 
is now Make Subdir instead of Rename File). 
Care must be taken when using shortcuts as 
some depend on which Dashboard object is 
active. Afteradjusting to the highlighted objec 
concept there are still some surprises is st 

An important example is the 
to‘erase’a file or disk. Thefirst time! used this 
1 opened the boot partition on my RAMLink 
and then changed the partition in the open 
window. While the contents of the window 
changed, the name under the icon didn’t (this 
facilitates the multi-partition concept 
mentioned earlier). The disk menu commands 
function on the disk/partition named under 
the icon while I was expecting to erase the 
highlighted object (in this case, the open 
window). Luckily a dialog box opens up asking 
for confirmation of the process. This DB 
presently only lists the Partition number and 
not the name so it would have been easy to 
erase my boot partition if! hadn't been paying 
attention, 

One function of the Toolbox that works 
almost too well is removing drives. To set up 


your system the way you want you can remove 
oradd drives into any available spot. The first 
time I tried this I thought | would move them 
all around and so removed all of my drives 
from the configuration boxes, When I tried to 


COMMODORE WORLD 


add another drive I was instructed to insert a 
disk with the Toolbox on it. Can you all say 
REBOOT? Anyhow, this isn’t in the manual so 
take it from me - DON’T REMOVE ALL OF 
YOUR DRIVES IN THE TOOLBOX! 

1581 subdirs are not supported and will 
crash the system. A native mode subdir will 
have an icon like a folder with CMD marked 
onit. A 1581 subdir shows up asa Commodore 
64 file—don't try to open it. 

As mentioned, the TurboMaster will work 
with Wheels but no explanation is provided, 
Due to the configuration of this unit it requires 
some special handling to work with a RAM 
unit. While an adapter was made allowing it 
to run under GEOS with a 17xx RAM unit this 
won't work under Wheels. Youneed a geoRAM. 
or bbgRam unit plus a cartridge port expander 
to run Wheels at 4 MHz. 

Chapter 7 in the manual covers a number of 
applications and utilities that won't work with 
Wheels. These include DBGetFiles (Wheels 
can handle up to 255 files in the requestor box 
so this is no longer needed anyhow), 
geoCanvas, geoWizard and most screen savers. 
Basically, any program that patches the kernal 
or allocates expansion RAM will have trouble 
with Wheels and the new manner in which the 
hardware is handled. 

Included with the package i 


include an ashtray and printer icon on the 
Dashboard, integrated screen saver, drive 
swapping in the Toolbox (the Dashboard 
supports drag and drop swapping for all four 
drives in the same manner the Desktop did) and 
a RESTART program that will maintain the 
contents of a RAM disk, The Info Box can't be 
viewed at present but the InfoViewV2 DA works 
well for now. Also missing is the ability to 
automatically set the clock from any detected 
time device during bootup; here again various 
Auto-execs like CMDTime work just fine. 


12 


Maurice is working on filling many of these 
potholes and plans to have the next release 
finished in the fall (as well as Wheels128). If 
you purchase Wheels now you will receive the 
next release free provided you send in your 
registration, The original program comes on 
5 1/4" disk only but the upgrade will be 
available on 3 1/2" disk also. 

Maurice has an excellent track record of 
sending out upgrades as evidenced by his 
distribution of geoShell and geoPAX and he is 
open to suggestions for new or improved 
features. Knowing Maurice's track record 1 
know these Wheels won't stop rolling until 
they are better than the top-of-the-line all- 
season radials anywhere. Needless to say, there 
will be plenty to discuss in future Graphic 
Interpretation columns. 


Cruisin’ 

Theads for Wheels feature a nifty little slogan: 
“Let's roll down our windows and go cruisin”. 
While it alludes to the freedom the system 
offers I don’t like this slogan, 

all right—and at any 
we want to, but Windows are what Wheels is 
all about. In fact, you can open 16 windows at 
one time (and from the same drive ifyou want). 
Rolling our windows down out of sight is the 
last thing we want to do with Wheels, 

‘The system offers many enhancements over 
GEOS V2.0, Not only in the interface we use 
but also in the advanced use of our hardw: 
Just as GEOS originally did for the C-64 in 
1986, Wheels provides a way to do things that 
we couldn't do before. That is why we need 
Wheels—to go places. Places we may never 
have taken our hardware before, but always 
wanted to. 

It is for that reason that I propose a new 
slogan for this system. Wheels—taking you 
where you want to go today. 


Issue 23 


_forbo Aivempler 


oe 
0" ius. 
Wet Matlin othe et 


oe a 
1 Bi 


pin P-. nate 


‘ 
For more than two Me F 
World|has ie ak sers Fa 
by providing theYatest he , AZ 
information’on sor ‘com jodore 


computing), Thi i of leading, — 
Ge Randall'and \: 


Soniye Keep you in-to 
chnol 


Please begin my subscription to Commodore World as soon as possible! 


Subscriber Information Payment Information 
Name 

Address: 

City 

Country: 


United States 
Europe (EC Only) 
Back Issues: 
Single issu 

issues $4.00 e 


Mail payments to: 


— A MODULAR PROGRAMMING SYSTE 
‘FOR THE COMMODORE Gt _ 


——. GOFA is a program management system that 


allowsa group of BASIC programs (any of which 
may include"an ML programvarea) tovoccupy 
memory at the same time and interact using 
special goto and gosub calls. The programs are 
not appended to one another; while each 
program begins immediately after the end ofthe 
preceding program, all are dealt with seperately 
through carful manipulation of BASIC pointers.. 
Each program (except the final one) must have 


~ —-cithera GONora GOXcommandatthestart, or 


after any code that the programmer elects to 
have executed on start up, such as the loading of 
USR vectors or execution of DEF statements. 

Programs arenumbered by GOFA in the order 
itfinds them in memory and they are referenced 
by that number. In all cases, the first program 
loaded—prog.0—must be the GOFA operating 
system. BASIC programs in any position may be 

~edited,andsthe group may be saved as,a-single 
program file, as single programs, or in sub- 
groups. Machine Language routines may be 
stored within.a,BASIC programsthat usually 
consists of a single line of BASIC containing a 
GOFA command which reserves and maintains 
the space for them, 

All GOFA programs are loaded using the 
normal BASIC LOAD command. Programs 
containing non-relocatable ML shouldbe loaded 
first, otherwise their position in memory would 
be changed by editing any preceding BASIC 
programs. 


Compatibility 

GOFAis offered to enthusiasts who enjoy creating 
their own programs. It has a very-fastwedgerat 
$0308 and does not use any RAM outside the 
BASIC program area. 


COMMODORE WORLD 


__GOFA began life on a C-64 with an EPYX Fast 
Load cartridge and during its development, the 
EPYX was replaced’by the amazing SuperCPU 
with 4 MB of SuperRAM. There are no 
compatibility problem with either of these 
devices, but any program or device that changes 
the wedge at $0308 would not be compatible. 
All BASIC commands operate normally and 
-the-system may be used by novice.BASIC 
programmers. Any BASIC program may be run 
(as the last program) without change except that 
the RESTORE command must be used before 
reading DATA statements. Each intermediate 
program must execute a GON (or GOX) 
command that locates the next program and 
stores its address, 


Commands 

The number of commands added to BASIC has 
been-kept to a minimum, with a fewaddedfor. 
theconvenienceofML programmers. A complete 


Theory of Operation 

Atthe heart of GOPA operation are the GO#S.., 
and GO#T... commands. These place the target 
program’s start address in the Start of BASIC 
Program Textpointer (locations 43/44) and then 
change the contents of the Current BASIC Line 
Number variable (locations 57/58) to a value 
larger than the maximum normally allowed by 
BASIC (63999). The latter is accomplished by 
placing a hex value of $FA in location 58, while 
the number of the calling program is placed in 
Jocation 57. This results in a line numberrofi 


64000 plus the program number. The name 
GOFA is actually derived from the BASIC 


14 


keyword GO and the hex value placed into.___ 
location 57 (FA), 
‘The GOSUBor GOTOtoken(asappropriatey~ 
is then loaded for execution by BASIC in the 
usual way. The search for the line number will 
begin atthe (new) program startaddress, thatis, 
in the destination program. 


Program Management... 
Using BASIC’s linker (line-chaining routine at 
$A533), the GOX (or GON) command locates ___ 
the ending address of the BASIC part of a 
program, adds 2 for the double-zero end, then 
calculates the start address of the next program 
by adding the number of bytes specified by the 
parameter (ifany) following the GOXcommand. 
This next address is stored in a table, a zero is 
stored at this address minus one, the program 
lines are relinked, and the program is executed. 
iables are cleared by thesGO,command 
(via SYS2102) and when anul programis created 
bythe GONor GOXcommands. (As usual, BASIC 
clears the,variables and,stack.when any error 
ven omitting the ‘?’ from something 
‘K(2071) in direct-mode!) An OK 
message is given on executing a nul program, 
when variables (and functions) are available for 
keyboard access. No program can be accessed 
untilithas been logged, so each run should begin 
at prog.0, usually by using the GO command. 
Programs cannot be assigned any arbitrary 
program number; programs are numbered in 
sequence, and referenced only by that number, 
It is recommended that the BASIC utility 
program be loaded as Prog.3, so that its routines 
may beaccessed by other programs in memory, 
as subroutines (using GO3S... commands to call 
the desired routines). 


Issue 22 


Creating Prog.O 

Creating Prog.0 is not an easy exercise for the 
novice programmer, because the ML is to be 
stored very close to the normal start of BASIC. A 
simple loader has been provided to make this 
task easier—it prints out the required direct 
mode operations, so that the user only has to 
press [RETURN] when the cursor begins 
flashing on the instruction, Before running the 
programit should be saved, usinganamesuchas 
‘create prog.0’, because ‘prog.0’ will overwrite 
the ‘create prog.0' program. 


Creating a Suite 
Prog.0 contains the GOPA system and begins at 
the normal Start of BASIC Program Text(2049). 


0 SYS2102:GOx1091 


‘This has already been described above. When 
loaded as a single program, RUN will produce 
OKand READY messages, indicating that Prog.1 
may now be entered or loaded. 

Prog.1 should be contain the programmer's 
frequently used ML routines, GOFA system 
extensions, wedges, etc.. Enter the following 
BASIC line: 


1 GOx1001 
Orifno ML storage is required here, enter: 


1 GON 


Then enter GO. The READY message (and OK 
if GO is entered again—see BASIC+ML) will 
indicate that the system is ready for Prog.2. 
The 1000 bytes suggested, is a reasonable size 
for Prog.1. SuperCPU users could locate one 
or more direct pages in this area. (BASIC’s 
direct page is zero page, but the ‘816 CPU 
permits the user to specify other direct pages.) 
Short routines for swapping the direct page, 
changing data banks (of SuperRAM), block 
moves, etc, as well as a host of short C-64 
utilities would be stored here, for whenever 
required. If less than 1000 bytes are required 
initially, leading zeros or spaces should be 
used, so that the number may be increased at 
a later time without disturbing ML programs 
already stored. 

Prog.2 should be reserved for longer ML 
routines, which may be non-relocatable, but 
these would have to be recompiled if the length 
of Prog. 1 were changed. The choice of Prog. 2 
will depend on the application. Alternatively, 
Prog.2 could be an all BASIC program storing 
notes and addresses of the ML. programs in 
Prog.1. 


Issue 23 


As no program is required in this position at 
this stage, the gofa command ‘gon’ is entered as 
a BASIC line. Then enter GO. 
is suggested as the BASIC utility area 
and will contain ‘def’ statements, information 


about the ML programs (such as SYS addresses), 
subroutines forsetting up the ML programs (such 
as USR function vectors) as well as other 
frequently used BASIC subroutines and direct 
mode strings, 

A short Prog.3 listing has been provided as 


a model to illustrate the organization and 


content of this program, Routines for 


GOFA COMMAND REFERENCE 
GOFA COMMANDS FOR BASIC 

GO Goes to Prog.0 and executes a normal BASIC RUN. It operates in direct-mode 

only, Prog.0 executes a SYS2102, which installs the wedge. This latter call will 

recover the system if you have used LOAD “NAME",8,1 to load machine 


language into the standard areas; it also recovers all programs that were in 
memory at the time ofa reset and clears halt-mode ifissued in direct mode, 


GON Goes to the next program and runsit. BASIC's CLR routine is called by GOXin 
Prog.0, but not by GONor GOXin the other programs. It operates in run-mode 
only. A SYNTAX ERROR is generated if GON is followed by numerals. 

GO# Goes to Prog.#(where pris a number 0 thru 9 which represents the program 
number) and stops with the READY prompt. The name ofa variable cannot be 
used for pr. If Prog. pris not in the table, a BAD SUBSCRIPT ERROR is given. 
GO... Goes to Prog.# and executes a GOSUB to the line number specified in the ... 
parameter. As with BASIC, if no line number is given then line number 0 is 
presumed. The normal BASIC RETURN command returns program execution 
to the calling program. See Error Messages for additional information. 


GO#T... Goesto Prog,#and executes a GOTOstarting at the line number specified in the 
»» parameter. As in BASIC this begins (or continues) a RUNwithout CLR at line 
In, (Note: A CLR is always performed first if Prog.0 is the specified program.) 
GOH Enters halt-mode and runs the current program, but stops in the next program 
with the READY message whenever a GON or GOX commandis executed, The 


next program is relinked, but not run. See Halt-Mode. 


GOFA COMMANDS FOR ML 
GOX### — Thiscommandshould only beused by expert programmers. The ###parameter 
represents the number of bytes to be reserved for ML program storage. Users 
should not experiment with this command—it controls memory that the 
BASIC Editor knows nothing about! This command operatesin run mode only, 
and is further described under Program Management. (Note: GON is a safe 
form of GOX for non-ML programmers.) 
GOZ### This command stores the result of a calculation made as for the GOX### 
command, but stores it in lo-byte, high-byt format at locations 2000,2001— 
without other action, 


Executes a SYS command to the address calculated as for GOZ###. No checks 
are made. 


15 


COMMODORE WORLD 


alternative colour schemes would also be a 
popular inclusion. 

Users will have their own set of subroutines 
forProg.3. Asalways, GOis entered after loading, 
entering or editinga program. The program runs 
ilit reaches the GON command inline 153 of 

3. A nul prog.4 is then created to prepare 
the system for the user's Prog.4. 

Prog.4 will be used by programmers for their 
longer BASICsubroutines, orsetsofsubroutines, 
such as those used for special formatting and 
graphics. Enter: 


4 GON 


The choice of Prog.4 will depend on the main 
program. Enter GOagain to prepare for Prog.5. 

Prog.5 will usually be the main program. It 
will call subroutinesin the other programs, using 
for example GO3S33 to GOSUB33 in Prog.3. If 
other programsare to follow, this program must 
also have a GON (or GOX) command. The last 
program may require a GO#T... command to go 
to an earlier program on completion of the 
logging sequence. The destination line must be 
beyond the program’s GON command to avoid 
looping. Alternatively, the GO#T... command 
may be given in direct-mode. 

The demonstration program in the listing 
entitled Prog.5 uses the jiffy clock TI to 


intchr$(14) 
f fn d(p 


nd (2069) 
cl 


COMMODORE WORLD 


measure the time taken to fill the screen with 
“X" characters by poking the code (24) directly 
into screen memory. The clock indexes 60 
times per second, so the change in the count is 
divided by 60. The unsightly print output 
should be compared with that shown corrected 
to three decimal places by the simple formatter 
in the utility program, Prog.3. 

Run times of the FOR-NEXT loop are very 
dependent on the position, in BASIC’s variable 
list, of the variables used in it. With “J” and 
“A" first in the list, a time of 3.550 is required 
by straight BASIC, 3.633 by GOFA and 0.167 
by GOFA with the SuperCPU. Because GOFA 
checks every NEXT command to ensure its 
destination is within the current program, this 
is a severe test. 

Stop a run with the STOP key after a few lines 
of X’s have been written, then try GO3S33, then 
GO2and finally LIST. Now enter CONTand you 
will see the screen filling continue from where it 
was stopped, 

Programs 6 to 9 are allowed for if required. 
Note the use of the program number as the 
number of the first line of each program. This 
is a useful identifier when LIST is used after a 
BASIC error message, or when using the GOH 
command, It is not required by the system. 
(See Housekeeping.) 


<2) Ul ie 
GOV GY 


16 


Editing 

In direct mode, GO#, where # represents the 
required (single digit) program number, enters 
that program at the READY prompt. The program 
may then be listed and edited in the usual way. 

A screenful of lines listed from one program 
may be transferred to another program, simply 
bya‘go#' tothe destination programand pressing 
‘return’ on each line (after changing the line 
number, ifnecessary), After this edit, ‘go’ (or one 
ormore‘goh’ commands) must be used to return 
tothe source program for more, In this situation 
itis useful to insert a‘stop' command at the start 
of the higher numbered program. 

A program is deleted by the NEW command, 
but this also sets the end address so that all 
highernumbered programs arealso unavailable. 
This situation can be reversed, but not by 
UNNEW. Use reset (POKE 2050,0 will do) 
followed by GO, 

It is not possible to completely remove a 
program by deleting all its lines; a nul program 
would be created at which the logging process 
would cease. (Inserting a line that includes the 
GONcommand will return the highernumbered 
programstotheaddresstable.) A program within 
a suite may be deleted by appending the next 
program to it, so there is then one less program. 
Unwanted lines may then be edited out. See 
Appending. 


wont then343 

nts (*00000000" +v$,n&) 
nge @ thru 8 

%) 


sted only 
45,46 from 


inter but 
‘cont! 


Issue 23 


Loading and Saving 

Asthe starting address ofeach program (beyond 
programs 0 and 1)is variable, all program loads 
must use a secondary address of zero. Loading a 
BASIC program with ‘LOAD "name",8,1' will 
almost certainly overwrite and crash the system! 
The GOcommand must be used after each load, 
although a stand-alone program may be RUN 
after loading. (See also the GOHcommand.) Itis 
not necessary to use NEW after loading an ML 
program to the 49152 block, or to the Tape 
Buffer using ‘LOAD "name",8,1'. Simply enter 
GO. 

Thenormal BASIC SA VEcommand saves from 
theaddress in locations 43/44 to that in location 
45/46; thatis, thecurrent program andallothers 
ofhigher number. Entering GOOfollowed by the 
usual SAVE "name",drivewill therefore save the 
whole suite of programs (including the system 
program) as a single file. Loading a BASIC 
program will replace the current program and 
all higher numbered programs, so these should 
be saved first, if not already saved. 

The sequence to save, for example, Prog.4 
alone (when there are higher numbered 
programs) would be: GOS, NEW, GO, GO4, 
SAVE "PROG.4",8—each command entered 
separately in direct-mode. The NEW command 
creates a nul (double zero) Prog.5, that is saved 
with Prog.4, but this is usual and not a problem. 
However, users should be aware that any 
variables or functions created by preceding 
programs (before their GON commands), will 
corrupt the original Prog.5, during the next 
logging sequence. It cannot then be recovered by 
UNNEW. 

Experienced programmers may save an 
intermediate program, without losing either 
programs or variables, with the aid of the very 
useful ‘goz’ command. See GOFA ML. 


Error Messages 
GOFA does not medify BASIC’s error routine— 
it uses appropriate BASIC error messages. 
Unfortunately, these messages print the line 
number stored in locations 57/58—the same 
copy thatis changed by the GO#...commands to 
6400# (where # is the program number). 
Therefore any error in statements following a 
GO#...command (including a SYNTAX ERROR 
following the program number in the command 
itself) will be reported as occuring in line 6400+. 
For this reason, GOFA stores the line number 
and program number whenever it changes the 
contents of locations 57/58 in program mode. 
To locate the error, a short BASIC routine is 
kept in Prog.3, that will print out the program 
number and line number of the last GO#... 


Issue 23 


command that was made in run-mode. This is 
accessed by GO3S33 in direct-mode. 

When, forexample, GO3S400occursin Prog.5 
when there is no line 400 in Prog.3. BASIC gives 
the message UNDEF'D STATEMENT IN 
64005—indicating that itwasaGOFA command 
in Prog.5 that caused the error. Users should 
note that the run stopsin Prog.3—where BASIC 
was searching for the line—so that to cursor up 
totheerror (ifit happens to bestill on the screen) 
and edit it will only compound the error. 


BASIC Statements 
All BASIC statements involving GOTO and 
GOSUB commands have their equivalent 
GO#T.,.and GO#S...commandsand require the 
same or less space in listings. In addition, an /FX 
GO#S... command is valid, whereas IF X 
JB... is not provided in BASIC (GOTO, GO 
TOand GOSUBremain valid). Because the wedge 
looks only at the first byte ofa BASIC statement, 
both the /Fand ON commands are handled by 
GOFA, with THENdirected back to the wedge. A 
small speed gain may result from the dedicated 
routines. 


Users should be particularly careful not to 
begin using a FOR-NEXT loop when another, 
using the same FOR variable, has not been 
concluded. BASIC will use the original FOR 
statement with the later NEXT value of the 
variable, without any immediate error message. 
This error is easy to make when going from one 
program to another, because the variables and 
stack are shared, To prevent it, use specific 
variable names for the FOR variable—such as J3 
in prog.3, J5in prog.5, etc... 

Whenever a block of BASIC is to be used by 
more than one program, it should be placed in a 
subroutine where each program may access it 
from its own FOR-NEXT loop. 


Change to CONT 
When GOFA is processing any GO#...command 
in direct-mode, it stores the current program 
number and all the BASIC continue parameters, 
as well as the stack pointer; but only if this has 
not already been done, that is if location 2096 
(the stored copy of location 62) is clear. The user 
is then free to list information, execute 
commands and even run subroutines in other 
programs for diagnostic, or other purposes. 
When CONT is entered, the stored CONT 
parameters have priority and are used, the stack 
pointer is replaced and location 2096 is cleared. 
The CONT token (154) is then loaded for 
execution by BASIC. In this way, the original 
program that was stopped—whether in the 
logging sequence or later—is the one that is 


7 


continued. (This action may be stopped by 
entering POKE 2096,0 before entering CONT.) 
Ifa program is to be run again, using a direct- 
mode GO#T... command, use POKE 62,0 to 
prevent CONT returning to the end of the 
previous run, (Stored by BASIC in location 62) 
The number of the program executed by the 
CONT command appe 
warning about FOR 
Statements. 


s on the screen, See 
YVEXT under BASIC 


Halt-Mode 

The programs may be stepped through the 
logging sequence by repeated GOH commands, 
butitis bettertouse repeated CONT commands, 
To begin in prog.0, enter GOH, then GO, then 
use CONT. Because execution stops on the next 
GON or GOX command, LIST will list the 
program following the number already printed 
by CONT. 

Halt-mode is cleared when the last program is 
reached and also by SYS2102 in direct-mode. 
Halt-mode should be cleared before any SAVE 
that includes Prog.0, otherwise the system will 
begin in halt-mode when next loaded. (POKE 
2097,0 may also be used to clear it.) 


Direct-Mode Strings 

Itisnot possible to use subroutines in Prog.3 for 
all a programmer's direct-mode diagnostic 
requirements, because the programmer may not 
wish tobein Prog.3 when the required operation 
is made. The answer to this problem is to have 
the required code stored in a string ble. 
‘Then, for example, entering ?X$would print the 
code for the operation on the screen, ready for 
use. Abbreviated command names may be used 
in strings. 


GOFA ML 

Changing the numerals after GOX (or deleting a 
BASIC statement containing a GOX### 
command) after the command has already been 
processed by the GO sequence, will cause—on 
the next GO sequence—an address to be 
calculated that is not the correct address of the 
next program. The system will therefore crash— 
unless the program is the last program and the 
GOX number was increased. 

For Prog.1, simply enter GO1 (and LISTif 
required) and then enter NEW. Enter the 
changed line and then enter ‘go’. (Prog.2 and 
above should first be saved.) ML programs 
already stored in Prog.1 will not be disturbed, 
provided that the changed line consists of the 
same number of bytes. Do not create any 
variables between NEWand GO, because they 
would overwrite the ML. 


COMMODORE WORLD 


Prog.2 may bealtered using thesamemethod, 
whilea GOX###commandinahighernumbered 
program may be deleted if followed by use of the 
direct-mode string XS, given at line 123 of prog.3. 

A program may be saved, even when it is not 
thelast program, by using the direct-modestring 
X$ while in the program and then using the 
normal BASIC save. Variables must not be 
used—usea numeral forthe drivenumber. Then 
restore 45/46 using sys2324 to recover all 
variables, Fora group of programs, use the GOZ 
part of X$in the last program to be saved, then 
GO# to the first program to use the rest of XS. 
Save the program and restore the vector and 
variables as before. 

If ML programs for GOPA are compiled with 
a double zero beginning, they may be loaded 
using the normal BASIC LOAD "name",8 after 
changing the 43/44 vector to the required 
address. The SYS address will be2 more than the 
load address, (The double zero prevents the 
linker from corrupting the program.) When 
done, GO will replace the 43/44 vector. 

Both vector 43/44 and vector 45/46 may be 
changed to save an ML program in the $c000 
blockusingthenormal BASIC SAVE "name", 8— 
being sure to usea numeral forthe drive number. 
Using GO will replace both vectors. 


DATA 

In response to READ commands, BASIC begins 
its search for DATA statements at the address 
that was stored in locations 65/66 by the CLR 
routine or by the RESTORE command. The 
search ends when and end of program double 
zero is reached, As the CLR routine is used only 
in Prog.0, an OUT OF DATA error will result on 
attempting to READdata without first executing 
the RESTORE command in the program 
containing the data, The DATA may be read by 
a program other than that containing the DATA 
statements, provided the RESTORE command 
is executed in the DATA program (by using 
RESTORE in a subroutine.) 


Housekeeping 
When several programs 1 and 2 have been 
created, it is useful to give each a file name that 
includes a number and to use the same number 
as the line number ofits (single) BASIC line. Any 
number ending in 1 would be a Prog.1 and any 
ending in 2 would be a Prog.2. (Line numbers 
large or small, always occupy two bytes.) 
When this is done, it is easy to identify which 
version of Prog.1 and Prog.2 is present ina suite 
of programs loaded as a file. For Prog.3 and 
higher, REM statements should be used to label 
different versions. 


COMMODORE WORLD 


When using a TRACE program, it is useful to 
have all line numbers ending in the program 
number, for example in prog.3 use 3, 13, 23, etc.. 
This is provided by line numbering and 
renumbering programs. Such programs do not 
change the destination line numbers of GOFA 
commands, so the normal BASIC GOTO and 
GOSUB commands should be used within a 
program. 


Appending 

To join two programs, for example, to append 
Prog.7 to Prog.6, enter ‘go7’ and ensure its line 
numbers are larger than the last line of Prog.6. 
Then enter 2/$to print the direct-mode string JS 
that was defined in Prog.3. Cursor up to it and 
press return to execute the code, It writes two 
spaces, one over the end-of-line zeroat the end of 
the last line of Prog.6 and the other over the first 
of the two end-of-program zeros, 

Prog.6 then includes the former Prog.7. After 
GOis used, the address of the former Prog.7 will 
disappear from the table, with the former Prog.8 
becoming Prog.7, etc. The first (lowernumbered) 
program must be all BASIC—a program cannot 
be appended to a program that has a GOX### 
command, (Programs may also be divided.) 


Advanced GOFA 

In this introduction to the GOFA system, 
programs have been loaded in turn and accessed 
by GO#S... and GO#T... commands. More 
advanced programmers may use the GOX### 
commands to create space into which relocatable 
MLprogramsandBASIC programs may be loaded 
in run-mode. This space need not be saved—use 
X$to remove it from memory before saving. 

Data statements, in any desired format, may 
be generated using BASIC, by storing the 
tokenized bytes into space created by a GOX##4 
command. The BASIC DATAstatementsare then 
revealed as another program by replacing the 
GOX### command with a simple GOX or GON 
command, (Any numbers may be used as line 
links as long as the hi byte is not zero. GOFA will 
correctly link them.) 

GOFA’s jump to UNDEF'D FUNCTION error 
may be changed toa jump to ML code—usually 
in Prog.1—where users may define their own 
GO... commands. 


MetaBASIC 

MetaBASIC (COMPUTE!s’ Gazette April 1985) 
is a very useful programming aid, popular with 
C64 programmers. It is compatible with the 
SuperCPU (with JiffyDOS disabled) and after a 
simple modification, itis compatiblewith GOFA. 
The modification is required for the TRACEand 


18 


TROFF commands which install and remove a 
wedgeat $308—the GOFA wedge position. QUIT. 
restores this wedge to the BASIC ‘reset’ position 
and therefore also quits GOFA. This is easily 
reversed by SYS2115, without loss of variables. 
The required modification is made as follows: 


SYS64738 


£39154,8 


BSAVE"METAGOFA" , 36864, 40961 
then if in GOFA, enter: 
SYS2102:GO 


After the READY prompt appears, once again 
enter: 


Go 


The SPEED##function slows the SuperCPU's 
turbo mode screen writing, without any 
noticeable effect on its processing speed. 
SPEED255 is slower than normal BASIC, while 
SPEEDOis full turbo speed. Among many useful 
commands, the TRA ‘ureisvery instructive 
with GOFA—especially if programs are given 
line numbers whose last digit is the program 
number. (The DUMP command proved faulty 
on reading a function name and MONITOR was 
not tested.) 


Quitting GOFA 

The gofa system was designed to enhance the 
basic system for the use of all BASIC/ML 
programmers, but many useful programs— 
such as assemblers and word processors— 
must have use ofall the basic program memory 
and therefore cannot operate under GOPA, 
To quit gofa it is necessary to use a cold start 
(SYS64738), power off or a reset button to 
remove the wedge. 


Important Notes 

Never load a program using a secondary address 
(ie, LOAD"name",8,1). Always 
LOAD"name',8 or equivalent. 

After loading a file, the GOcommand should 
beused toeffectarestart andensure theintegrity 
of the program address table, 

Dividing a FOR-NEXT loop—with the FOR 
statement in one program using (by accident 
or design) the ‘next’ command in another 
program—will produce a NEXT WITHOUT 
FOR error. Do not go to a FOR-NEXT loop 
having the same FOR variable as another that 
has not been concluded. This will produce 


use 


Issue 23 


unintended operation and may also produce a 
NEXT WITHOUT FOR error. 

The GOX###command (where ###represents 
‘one or more non-zero numerals) should only be 
used by ML programmers who understand the 
difficulties involved in entering, changing and 
deleting it. 


Alwaysuse LISTto checka program’sidentity, 
before editing. 

Enter GOO before attempting to save (using 
the normal BASIC SAVE) a suite of programs as 
a single file. 

Use the RESTORE command in a program 
containing DATA statements. 


Recover from a reset with SYS2102:GO. Or 
use SYS2102:GOH to begin halt-mode, then use 
CONT to step through the logging process to 
locatean error there. Do not use UNNEWexcept 
in the last program. 

Expect an extra run time of about one second 
per minute taken by a straight BASIC system. 


rem creates prog.® : george flanagan 
rem save your work, before you run it 
rem because program is destroyed *** 
for j=49152t050209: readd:pokej,d:next 
printchr$(147):print'press ‘return’ '; 
print" on each cursored line :-* 
poke214,5:print:q$=chr$ (34) 
print’@ sys2102:gox1091 
print*k=49152: forj=2100t03157: 
print*pOj,pE(k) :kek+l:next 
print'rem wait for cursor!" 
poke214,1@:print 
poke214,13:print *poke2099,@:run* 
poke214,16:print"goo" 
print*save"q$"prog.0"q$",8 
poke214,3:print 
poke43,1:poke44,8:new 
rem 
100 data 0,0,162,0,142,23,8,134,62,32,22 
8,8,32,243,8,169,104,141,8,3,169,8 
11 data 141,9,3,96,0,250,0,0,201,130,20 
8,40, 32,7,12,201, 203,240, 102,201,145 
12@ data 240,33,201,154,208,25,76,73,9,1 
65,62, 208,3,141,48,8,32,115,0, 201,139 
130 data 144,220,240,13,201,142,240,65,1 
76,219,56,76,231,167,76,155,11,32,115,0 
14@ data 32,158,173,165,97,208,13,160,0, 
200,177,122, 208,251,32,251,168,76,174 
15@ data 167,32,121,0, 201,137,240, 23,201 
,167,240,8,160,0,140,78,8,76,177,11,32 
160 data 115,0,176,7,32,160,168,76,174,1 
67,168, 208,181,32,115,0,32,88,11,169,0 
170 data 141,78,8,32,115,0,176,3,76,211, 
9,208,83,141,23,8,166,58, 232,208, 72,32 
180 data 228,8,138,32,113,168,76,174,167 
,169,1,133,43,141,24,8,169,8,133,44,141 
j90 data 25,8,96,166,58,232,208,3,142,49 
,8,165,46,197,56,176,9,201,8,144,5,173 
200 data 2,8,208,20,169,18,141,1,8,169,8 
,141,2,8,173,50,8,133,45,173,51,8,133 
210 data 46, 56, 76,174,179,76,8,175,201,1 
64,208,6,169,137,56,76,231,167,141,78 
220 data 8,201, 78,240, 98,201,91,176,229, 
201,88, 240,90,176,106,166,58,201,72 
230 data 240,62,76,31,9,165,62,240,35,17 
3,48,8,240,35,133,62,173,47,8,133, 61 
240 data 173,80,8,133,59,173,81,8, 133,60 
,173,46,8,141,23,8,32,173,9,174,79,8 
250 data 154,169,0,141,48,8,24,173,23,8, 
105,48, 32,210,255, 56,169,154, 76,231,167 
260 data 232,208,155,141,49,8,142,48,8,3 
2,115,0,208,144,32,142,166,76,174, 167 
270 data 32,166,179,174,23,8,208,10,166, 
45,142, 50,8,166,46,142,51,8,76,68,10 
280 data 10,170,189, 25,8,240,13,133,44,1 
89,24,8,133,43,96,162,26,76,55,164,76 
290 data 69,178,174, 50,8, 228, 45,208,241, 
174,51,8,228,46,208,234,96,32,196,9 
300 data 172,23,8,56,233,48,141,23,8,32, 
173,9,166,58,224,255,144,34,174,48,8 


Issue 23 


19 


310 data 208,40,166,62,142,48,8,166,61,1 
42,47,8,166,60,142,81,8,166,59,142,80,8 
320 data 140,46,8,186,142,79,8,176,11,14 
2,22,8,166,57,142,21,8,140,20,8,166,58 
330 data 32,115,0,208,9,232,208,31,32,14 
2,166,76,134,227,201,83,208,8,32,139 
340 data 11,169,141,76,231,167,201,84,20 
8,6,32,139,11,76,41,9,76,174,179,76,8 
350 data 5,76,53,164,32,115,0,8,32,107 
»169,32,51,165,165,34,101,20,133,34,165 
360 data 35,101,21,133,35,56,165,55,229, 
34,170,165,56,229,35,144,219, 168,138 

370 data 233,50,152,233,0,144,210,160,1, 
174,78,8,224,78,208,5,40,144,195,176,5 
380 data 40,224,88,208,4,169,0,145,34,15 
2,101,34,133,34,144,2,230,35,224,89 

390 data 208,14,165,34,133,20,165,35,133 
,21,32,48,225,76,174,167,224,90,208,13 
400 data 165,34,141,52,8,165,35,141,53,8 
,76,174,167,238,23,8,162,250,154,142,79 
410 data 8,173,23,8,10,170,142,78,8,165, 
34,133,43,157,24,8,165,35,133,44,157 
420 data 25,8,169,0,174,78,8,232,224,24, 
176,5,157,25,8,144,246,32,38,11,208,8 
430 data 160,1,177,43,240,82,208,37,176, 
35,174,78,8,224,20,176,25,32,51,165,32 
440 data 142,166,173,49,8,240,11,32,38,1 
1,208,3,141,49,8,24,144,62,76,174,167 
450 data 32,244,172, 169,0,141, 49,8, 32, 68 
,166,165,45,141,50,8,165,46,141,51,8 
460 data 208,36,24,165,34,105,2,170,165, 
35,105,0,168,56,138,229,45,133,34,152 
470 data 229,46,5,34,96,141,49,8,133, 62, 
160,106,32,47,241,76,134,227,32,142,166 
480 data 166,122,134,61,133,62,208,242,7 
6,8,175,208,251,169,255,133,74,32,138 
490 data 163,154,201,141,240,5,162,12,76 
, 55,164,104, 104,133,57,104,133,58,104 
500 data 133,122,104,133,123,165,58,201, 
250,208, 10,165,57,141,23,8,32,173,9,169 
510 data 0,76,248,168,132,57,169,250,133 
,58,172,78,8,240,4,136,32,251,168,96 
520 data 32,115,0,32,158,183,160,0,140,7 
8,8,201,141, 240,38, 201,137,240, 34,238 
530 data 78,8,201,203,208,160,32,115,0,1 
76,155, 200,177,122,201,83,240,4,201,84 
540 data 208,144,174,78,8,208,6,32,121,0 
,76,211,9,72,198,101, 208, 22,174,78,8 
550 data 240,6,140,78,8,104,208,234,32,2 
51,168,174,78,8,104,56,76, 231,167,200 
560 data 177,122,201,48,144,6,201,58,144 
,245,176,8,201, 44,240,213, 201,32,240 
570 data 235,32,251,168,104,76,174,167,3 
2,115,0,208,4,160,0,240,3,32,139,176 
580 data 133,73,132,74,32,138,163,240,5, 
162,10,76,55,164,154,189,18,1,188,17,1 
590 data 133,20,132,21,56,229,43,165,21, 
229,44,144,25,173,23,8,105,0,10,170,189 
600 data 24,8,229,20,189,25,8,208,4,186, 
76,54,173,229,21,176,248,165,21,201,2 
610 data 240,242,208,198 


COMMODORE WORLD 


CMD | HARDWARE - ORDERS: 1-800-638-3265) - SOFTWARE ~ CMD 


THE HOT NEW UPGRADE FOR 


2000 (600% Sy79.00 SupeCPU ES 129.00 
FD RoartanerGieck Opto re O SuberCPU 6a wiSuparRANl  SedaaTaaaeSIoSe GEOS 64 IS NOW SHIPPING 
Fae ent (e Olsiiaj $8000 SupercPU tes wSupead - SaiaasuaBearae 
cece SuperRAM Gard (OMB TEMB) ... $7B9N118199179 If you've been waiting for GEOS to get better, faster and more 


(het os Hanus calc a ett CAL MED RCC CES efficient, your wait is over! Click Here Software's Wheels takes 


i $200.09 level, with full integrated support for all the latest 
Aprotok 3-Way User Port Expandor ‘$30.00 HD-40 (40 MB) 53 $2529 GEOS to the next level, 9 t 
Arges User or Extern cae ili '8)"""" $0800 HOSOO, 500+ ME (Spec Eason) $459.00 hardware. Wheels also adds many features not previously available 
E-StG Compute! fer nacre: MAD SPS) Stane0 Ho-co00,2GB Spec Eston) $=is00 inGEOS, as wallas some that could only bebadby bung creda 
S0bs Cearputar (Fiararntactived wiJ0} 208.00 other utilities and patches. is really going someplace, 

C-128 Computers CALL 

€128-D Computers (Remanufactured wD) CALL Cup 1750 512K REU ‘$99.00 has the Wheels to get there! 

C-£4V64C PowerSupply (New, 1.7 Amp.) 's20.00 EMD rene ano RED ad ‘oping $36 00 
C-64/64C RepairablePS (New, 1.7 Amp.) $39.00 RAMUnk Base Model (OMB, No RAMCard) $149.00 now shipping! e 
C-6i164G Heavy Duty Repairable PS (New, 434). $59.00 framtina wrintB paMieand (Speen $10.00 


120 RepairablePower Supply (Now, 4.3 Amp.) $55.00 RANLnk wAAMB RAMCard (Special) $22900 Minimum requirements for Wheels: GEOS 64 v2.0, 1541 or 1571 disk 
A TIVISORLY Power Sopa tow 1 ep Ses09, RAMLink w/1GMB RAMGard (Special) $343.00 drive, mouse or joystick, and 128K or larger RAM expander. 


Novaterm 


TSATHIISBH/RLy! Power Supay New, 1 Amp.) $25.00 FUAMENK WiHeMB RAMCard (Special) nnn $8.00 

GBM 1S4TC Disk Davo New WD) $118.90 Fanti Bator Backup (Optona Sits 
SI Disk Divo (Now Wi ‘ . : 

CBM 1571 Disk Drive (Remanutactured wiJD) ‘CALL Receiel Cable (HAMLIN 10 190) aS 

Pe mee Productivity | 

END Exa Pon Canvioge Pon Expander 

EMD GeoCabie Pr Cable stctate $28 00$34 00 Bank Svest Writer 

CMD Sega-styie Gamepad for C-64/128 $24.95 Cadpak 64 (Abacus) 

CMD SmartMouse (1351 Compatible Mouse) $49.95 Cadpak 126 (Abacus) 

Fy Gate ack sf S00 Saeiach... 31600 Stare 28 anes “Join he Yolecanimanleaoni Ravelovan..cest 

Floppy Disks (28 pack o Basingh cu = 

Inn ah ‘Pon Model 1706 $7500 Data anapa 8 (Timowois Join the Telecommunications Revolution... gi 

or Cubs Goda . , 

Prasonie Kx 180 ini 0.5 | Bank (8 i ak VOR) on the Information Super Highway TODAY! 

Panasone KXP-2009 2¢pin Panter 2 on ol, 

Panasons KXP 2190 244 pin Printer 529900 Perel Porte Manajer Abas) 90 © Easy-to-use — novice user configuration | + New faster 80 coumn mades: S80 on 

Panasonic KXP-2028 Color Kt et Wer 1 (64) Dig ‘ 

‘Smattiine C-800 Printer Intertaco 510,00 Pocket Writer 2 (64/128) (Digtal Sol) 365.00 + Now supports UUencode and UUdecode | C-64 (enhanced scrolling w/ REU); and 

Pocket Writer 3 (64 or 128) (Digtal Sol) $70.00 andconverts files on diskorin abutter, Also | 25 or 2&line C-128 VDC 80-col. mode. 


pets lige le rhea ASCIl > PETSCII and PETSCIIto Unix. | » Use any memory device as a buffer 


ee 


i 


geesesssssss 


asad 


28 


w 


" RUN Productivty Pak | or Il (Specty) 

be reap $32.93 RUN Super Stator Pak 1541 or 581 + Protocal support: Zmodem up/download, | _incuding: 17xx REU, RAMLInk partton, 
‘SEC Check Rogistor 128 resume (crash recovery), streaming to | GeoRAM, C128 VDC, BBGRAM, and 

nguages! & Compilers SuperScript 128 (Procison) 

BASIC 64 Compiler (Abacus) 17.00! uoeimase 04 Vermont .2/ Grracieont Xmodom-1k; Xmodem-1k-g(to butter); | + New text capture features:Capturo text ons 

Ee Ry esther 3 6 Xmodem-CRC; Punter; Kermit; WXmodem. and store in any device; High-speod 

Buday 6426 Ascomber So.00 TS 6 wSpeter (uy Bee) « Supports High Speed Interfaces like | ‘fansters direct into memory and now 

est Nye $1208 TW Modules (HOU Iiustrator) Turbo232 for speeds up to 230Kbps. retain butter contents with battery/power 
‘rciek Con Modem Adapter ecard modem) VT52 in 80 col, Plus Commodore color | * Fished Saeed 

Collette Utiitios (Handy Geos Utiities) $19.95 Aprotek Com-Modem Adapter Cable. ‘ ‘aphics and ANSI color. All emulation | load/save files from the buffer and has 

Dos Pack Pus $28.00. Commodore 1670 Moder (1200 baud). ian oad ri an integrated serpt compiler. 

Dwoeziis Groatest Hits (NewTools2 Stamp Label'28) ..... $3000 Modem (9-25) or Null-Modem Cable (9-9 or 9:25) modules now from one window, 

ateWay 64 or 128 (Spacty Version) $29.95 th 7 

WroBASe nnn $20.00 Um Spenser 39 éxtps Fashiosom 10900 $29.95 + Simple BBS modo - dan downloading 

eon oat $10'005848.00 gr Sporsor Faxmosem w'Turonse & Cabio $198.00 . + Supprts real-time clocks in CMD devices 

+ All new user's manual 

eaFie 64/128 $40.060545.00 

BooMakeBoot (Makes Bostabia coplas} Sizes: Handyecenner $249.00 

eee $5.0 Vito Daiiza “comm Flgsea 

o9Publt ae 0.00, igtizor x $ 

GEOS 128 v2.0 5 

OSHELL V2.2 (Ci for GEOS) 9 * » Increase Speed Up to 1500% while 

ifoct Print LO for GEOS (Laser-like output) m retaining 100% compati 
[RUN GEOS Companion 
RUN GEOS Power Pak | or I (Specity) 
Books Day in the Lite of Prehistoric Man 


JitfyMON-64 (ML Monitor) $19.95 RUN Works 
buffer; Ymodem batch; Ymodem-g; internal C64 memory. 
Bitz! 64 Compiler (Skylos) $33.20 SwinCalc 64 (Timeworks) 
Power C (Spinnaker) $19.00 Telecommunications ‘Supports ANSI color/graphies, VT102, and backed RAM devices such as RAMLInk. 
FONTPACK Pius $25.00 Novaterm 9.6 (specity 3.5° or 5.25") Now Just * Script language for automatic operations 
ooFAX $3995 Scanning & Video (Specify 5.25" or 3.5" disk) 
tmational FONTPACK 
: lity 
Escape Roto 


Ca eorce k Engrs : pave Sap Drive ROMs 
: gio . : 
6128 Computer Alded Desa 0 $19.00 
ize BASIC Trang Gude : ; 
Commodore 64 Trek and Tiss 
Gempler Design & Imoomontain forthe C68 
GEOS Programmers Relorence Guise 
Graphics Bok for tho G64 '$8.00 Island of the Dragon 
Hichikors Guide 10 GEOS Ten00  emtanve cos ee ane 
Kdoas tor Uso on Your C68 pote ege 
Print Book tor to Cost Kings of the Beach 
Papin ECE $8.00 Lords of Conquest 
MIDUae Sound Mastrame 


Digimaster Ups and | Next 
SID Symphony Stereo Cartidgo Ordor Subtotal Ground Day | Day | DayAlr | 
ESE CARNE CRE NICE aCOaEL : $0.01 to $19.00 s475 | CALL | CALL | S160" 
$20.00 to $29.99 $575 | CALL | CALL 

Adventures w/ Fractions (ages 10-14) = = 
Expeditons (ages 8-15) $20.00 to $59.99 

ro-Roading (390s 3-7) rm 
Spating Be9 (ages 8-13) $15.00 Te Break Toons vennone sees: 

ho Gtss Computer $15.00 Total Eclipse ation ] 
‘Tho Markot Place (a $15.00 Walkorz Linstead ony) \ | oom | 
Where in Europe is a $29.00 Warin Middie Earth. “$10.00 | $300.00 to $799.99 100" | $25.00 | 


$29.00 Wings of Circo Ty a | cae eae 


¢ All Major Credit Cards Accepted « UPS C.0.0. add $5.00 (US only) 


Mastercard * Visa * Discover * American Express * Other shipping methods available. Call for details. 
Poucies: CMD accepts: Major Credit Cards, Money Orders, COD and Personal Checks, 


Personal Checks are held 3 weeks. Customer is responsible lor shipping charges on 
Creative Micro Designs, Inc. refused packages. Most items are stock, contact CMD for fim delivery, Returns for 

5 [OOS Merchandise credit only within 30 days with prior authorization, Crodits aro toss shiping. 

E.0. Box 646 Info: (413) 525-0023 fering. taxes, custo, dos, and a WH restocking charge, Netoures a orosee os 


East Longmeadow, MA 01028 Fax: (413) 525-0147. openod sottwaro.Allprices and specifications are subject to change without notice, CMD 
Visit our Web Site at: http://www.cmdweb.com/ Business Hours: (Orders) M-F.9AM-5:30PMEST (Tech Support) M-F, 1PM-5:30 PMEST, 


C-64 COMPUTERS, KEYBOARDS & CASES 


C-64 in Slimline Case (no Power Supply) $49.00 
C-64 in Slimline Case (with Power Supply) $69.00 
C-64 Keyboards (reconditioned) $29.95 
C-64 Slimline Case $10.00 


ve SurPenCPuU AcceLeRaTorns 


oie SuperCPU 64 $199.00 SuperCPU 128 $259.00 
SuperCPU 64 w/0MB SupeRAM $239.00 SuperCPU 128 w/0 MB SureRRAM $299.00 

> SuperCPU 64 w/t MB SureRRAM $259.00 SuperCPU 128 w/1 MB SureRRAM $319.00 

a SuperCPU 64 w/4 MB SureRRAM $274.00 SuperCPU 128 w/4 MB SupeRRAM $334.00 
er | SuperCPU 64w/8 MB SureRRAM $298.00 SuperCPU 128 w/8 MB SureRRAM $358.00 
* SuperCPU 64 w/16 MB SurerRAM $338.00 SuperCPU 128 w/16 MB SurerRAM $398.00 


HOT DEALS ON GEOS & WHEELS! 


Wheels 64 - Just Released! $36.00 
GEOS 64 v2.0 $34.00 
GEOS 128 v2.0 $39.00 
GEOS 64 v2.0 & Wheels 64 Bundle $65.00 


GEOS APPLICATIONS ON SALE! 


GEOBASIC $10.00  geoProgrammer $40.00 

geoCalc 64 $30.00 GEOSCompanion $10.00 

geoCalc 128 $35,00 | GEOS Power Pak $10.00 

geoChart $19.00 GEOS PowerPak Il $10.00 

geoFile 64 $30.00 Font Pack Plus $15.00 

geoFile 128 $35.00 _ Int'l Font Pack $15.00 
GEOS BONUS SPECIALS 


Purchase any GEOS product or Wheels and 
Get geoMakeBoot for only $7.95* 
Get a CMD 1750XL REU for only $89.00* 
Get a 4 MB RAMLink for only $199.00* 
Get a 16 MB RAMLink for only $299.00* 


*Price is in addition to price of qualifying product. 


POWER SUPPLIES 


C-64/64C (New stock 9vactA/Svoc 1.7A) $29, 
C-64/64C (new 9vacta/Svoc 1.7A REPAIRABLE) $39. 
C-64/64C weaw purty (NEW vac 1A/SVDC 4.34 RePalaste) $59.00 
C-128 (NEW 9VAC 1A/SVDC 4.34 REPAIRABLE) $55.00 
1541-11/1581 (New stock cam) $25.0 
1571 (useo BUT THOROUGHLY TESTED) 20% 
1541 (useo But THOROUGHLY TESTED) $20.8 


You may now reach CMD on the Internet at: 
HTTP://WWW.CMDWEB.COM/ 


HOT SUMMER SAVINGS! 


Se 


Desk Pack Plus $19.00 jeoPublish $30.00 — 4 
9 ery. 
~~ 


CMD Service Center 
Reasonable Rates * Quality Work 
Computer & Drive Repairs * Reset Switches 
Keyboard Cleaning * Device Select Switches 


CALL FOR AUTHORIZATION BEFORE SENDING ANY ITEM 


TECHNICAL SUPPORT: SUPPORT@CMDWEB.COM »* SALES: SALES@CMDWEB.COM 


Ce include shipping charges, and are subject to change without notice. All items subject to availabilty, call before ordering. See our main ad for shipping pric 


y 


WAREHOUSE 


CLEARANCE 


SALE 


1-800-638-3263 


CMD's Warehouse Sale includes many hard-to-find used and (where noted) new 
items. In most cases we have only one or two of each item in stock, so be sure to place 
your order before your selection has been taken! A minimum order of $20.00 applies 
to all Warehouse Sale orders. Shipping charges are not included in the prices shown, 

(See our main advertisement elsewhere in this issue for shipping information). 


TELEPHONE ORDERS ONLY ON THESE ITEMS 


Mailed in orders for non-reserved out-of-stock items wil result in a merchandise credit 
No cash refunds. All tems listed here are sold “as-is”, and all sales are final, Prices and 
specifications subject to change without notice. Not responsible for typographical errors. 


BOOKS 
128 Machine Language for Boga w wiDisk 
1571 intemal... 


The C64 Guido to Data Files and Advanced Basle 
The Elementary Commodore 128-Program in Basic? 0 
The Elementary Commodor® 64... 


1581 DOS Relemoe GUdE sn. The Master Memory Map forthe Commodore 64 
40 More Great Flight Simulator ‘Adventures The Official Book Of King’s Quest-Daventry and Beyond 10.00 
Algorithms For Personal Computing... Your Commodore 128 


‘All About the Commodore 64 Volume 1 Your Commodore 64-4 Guide tothe Commodore 
All About The Commodore 64 Volume 2... 


Anatomy Of The 1541... BUSINESS: 


Assembly Language for Kids C64 w/128 Update Better Working File & Report (new) 1500 
Assembly Language For Kids: Commodore 64 Business System: Sales Analysis Moraes 1000 
Big Computer Gams... ae Datamanager2 (new) sens 15.00 
(C128 Computer Aided Design (ne). Easy Finance 1 5.00 


C64 Programmer's Reference Guide .. anes 
C=128 Intemals-The Authoritative Insiders Guide... 
064/128 Graphics and Sound Programming 2nd Ed. 


Easy Finance si 
Easy Finance I senge 5.00 


Cassette Book For The C=64 And VIC-20 .... Easy Finance IV 5.00 
Commodore 128 Programming Secrets Easy Finance V 5.00 
‘Commodore 64 Assembly Language . Filer's Cholce-Filing and Record Keeping Sit ‘ vs 8.00 


‘Commodore 64 Data Files - A Basic Tutorial 8.00 JANE 128 

Commodore 64 Favorite Programs Explained Label Wizard... Ms 
Commodore 64 Graphics with COMAL ns: in Load'n'Go Home yanegeenn Series..... 
Commodore 64 Trouble Shooting & Repair Guide... Paperback Filer 64. 

‘Compute's Beginners Guide to Commodore 64 Sound Paperback Pianner 64 


Compute's Commodore 64 Graphics. 
Computes Fist Book o C=64 Sound And Graphics. 
Computes Fist Book Of Commodore 128 
Compute's Machine Language For Beginners 


Plannr’s Choice -Personal Planning System... 
RUN Productivity Pak I 
Secures Analyst 1267Super Disk brary 
Silent Butler (Check Writing system) 


Compute's Machine Language Routines For the C=E4.... Slent Bute (new) 
Compute's Third Book of Commodore 64 Superbase 128 
Computer Programming In The Basic Language Switcale 64... 


Digital Research CPIM Plus 
Fight Simulator Co-P. 

Flying On Instruments With Fight Simulator. 
Guide to Care, Feeding and Training of C-64 


Swiftsheet 128 ,. 
SwitfTax 85 
The Consultant (Database Mangere 
The Electronic Check 00k .... 


How To Use The Commodore 64 ..... The ELF System (new) 
How To Use The Commodore 64 Computer The Home Accountant 
| Speak Basic To My Commodore 64 The Home Banker 
Leaming With LOGO... The Home Manager 
Machine Language for the Absolute Beginner The Manage’... 


Machine Language For The C=64 and other 
Osbome 1 User's Reterence Guide . 
Programming The Commodore 64-The Definitve Guide. 
Sprite Graphics For The Commodore 64 


The Negotiation (new) .. 
The Sales Edge (new) .. 
The Word MachineName Machine (ren : 
Valuecale os 


COMMODORE WORLD 22 


CARTRIDGES 
Allin The Color Caves 
Alpha Build . ester 
Big Bird's Special Deilvery 
Bubble Burst... 
Cale Result - Advanced fo 
COMAL 80 
Genoa Music ‘Sys Enhanced Sid Player &Sid Catt... 
Easycalc.. 
Explode V3.0 
Facemaker 
Freeze Frame - “Transparent Screen Dump... 
Frogger VIC 20 Version 
HESKI renin 
Hop Along Counting 
Kids on Keys. 
Kindercom 
Linking Logic 
Mastertype (new) 
Pac Man... 
Partner 128 
Sea Speller ..... 
Super Explode V5.0 
‘Super Snapshot V4 wimanual 
Turtle Graphios ll (LOGOtype language). 


Warp Speed 

CARTRIDGES (No Docs) 

Attack Of The Killer CaMA!S..nssn cn BOO 
BC's Quest For Tires. . ‘ 8.00 
Centipede 8.00 
Clowns : 0 
Cosmic Lit 0 
Ducks Ahoy 8.00 
Frogger. 8.00 
BIR ersennoinmiiniansininiaiionnionnannsenaal OCD 
Hop Along Counting ..sssnnnioinnnn 8,00 
Intemational Soccer. 

Kindercomy 


Linking Logic 
Magic Desk | 
Memory Manor 
Number Tub) 


Issue 23 


6.00 1351 Mouse Complete with Box... 
1764 RAM Expansion Unit wimanual and 
6 Slot Cartridge Port Expander for VIC 20 
Aprospand-66 .. 


‘Commodore 1750 RAM Expansion Unit W/Manual . 


Koala Pad w/manual.. 

Light Pen -no documentation 

Magic Voice Speech Module 

Micro Stutfer Printer Butter 

MicroWorld MW-302C Printer Interface 
Paint-N-Stetch | wiLighipen .. 

Panasonic CCTV Camera 

PPI BBU wiBattery Pak ,P/S, Disk & Manual .. 
RIS.T Inc ComTalker 64-Text to Speech Synthesi 
‘Smart One 2400X Modem w/Swiftink & Cable 
‘The Connection - Parallel Printer Interface 

Used SlimLine cases for Commodore 64 
VIC-1011A RS232C Terminal Type Interface Car, 


Kings of the Beach (new) fi 
Kung Fu II-Sticks of Death (new) . 600 MAGAZINES 
DISK UTILITY ae Ahoy - Jan-Dec87, Jan-Dec88 (No May), Jan89 .. 
1541/1571 Drive Alignment Compute -12 Issues Nov-Dec92, Jan-Oct93 
‘Computes Gazette Disks Feb-Dec 
Transactor Apr89, Jun89, Aug89 
‘Twin Cities 128 Issues 20-34 


annals SOFTWARE 


batsem Poe si 
Computer Diet-The Scarborough System (nen). 
CPIM Kit For The Commodore 126 .. 


foyshop = 
Warewithall (Maced: Patty Paper Pak) (nei) 
WriteriFile Pak 1541 ...ononss 


PROGRAMMING 


GEOBASIC (new)... 
Hesware - Graphics Bast... 
Simon's Base... 
‘SYSRES Program Manipulation System 


Wee in the Europe is Carmen San Diego (new) 
Whee in the Word is Carmen San Diego (new) 


Issue 23 23 COMMODORE WORLD 


[Sify FT) Wy /A)iRyE) 
IN REVIEW 


Centipede 128 BBS; $69.95 +s/h; Adam 
Fanello/Bugsoft, 4822 Larwin Ave., Cypress, CA 
90630-3515; Nature Reserve BBS 714-828-7296; 
adamf@acm.org: http://www. bugsoftware.com. 


Some Commodore BBS packages are legendary. 
Color64, C-Net, and Image have been established 
overtheyearsasdominatingforcesintheCommodore 
BBS community. In looking over these systems, it's 
always been clear that they have a long history (ten 
years!) of author and sysop-created add-ons and 
modifications (known “mods” in BBS lingo). 
Centipede by Adam Fanello is a new BBS package for 
the C128 that although new, has a rich history. In 
development since 1992, it started as “V128", an 
upgradeto Colour64v7.3xfortheC128. Unlike V128, 
however, Centipedeis a completely new BBS package 
that incorporates similar features as Color64, with 
updated and modernised amenities without 10 years 
of updates to contend with. 

Centipedecomeswitha71 pagemanualinapocket- 
folder, convenient for holding the BBS disk(s) and 
updated printouts of text files. A BBS program can be 
one of the most complicated things you can set-up on 
acomputer, regardless of platform, and I consider the 
documentation fora BBS program to beas important 
as the software itself. Without good documentation, 
a new Sysop can easily become lost or discouraged 
and it’s no fun wading through 1000's of text files to 
find information about how to set some things up. 
Instead of jumping directly into the software, 
Centipede’s manual begins with a brief history of the 
of BBS package and a glossary for terms and phrases 
that may be unfamiliar, 

‘The manual features one of the most important 
aspects of any BBS: the planning and designing stage. 
This is essential (not only to running a BBS, but to 
organising a BBS software manual) because without 
careful consideration the first time around, a sysop 
can spend great deal of time RE-organising the BBS 
to suit his or her needs AFTER installing the BBS 
software. By covering the planning stage of setting up 
a BBS, Centipede’s manual guides the new Sysop and 
helps avoid headaches down the track. 

Another aspect covered in-depth in the manual is 
the type of “Storage Units” (disk drives, hard drives, 
RAM devices, etc) that will be used to run the BBS. 
Some BBS packages require the Sysop to set up their 
BBS storage devices in a particular manner, even to 
the point that directories must be in certain locations 


COMMODORE WORLD 


CENTIPEDE BBS 


onahard drive, orhaveaspecificnaming convention. 
Centipede takes a broader approach and allows the 
Sysop todecidethesethings,andgivenenoughstorage 
space, all BBS files can bein the same location. One of 
Centipede's key features is its ability to use nearly any 
type of Commodore storage unit available including 
Commodore disk drives (even the 1542 dual drive), 
CMD storage units (RAMLink, HD hard drive, and 
FD drives) IEEE units, ICT Data Chief, ICT Mini Chief, 
thet. Kernal hard drives, RAM Expansion Units,and 
multiplexed systems. Because many of these devices 
have differing methodsofsending DOS commandsto 
accessit, themanualcovershowtotell the BBS software 
where to find files on each particular devices. It also 
covers general information about how much space 
each unit can hold, and any obvious negative things a 
Sysop may need to know about. 

Naturally, a BBS usesa modem to receiveand send 
datatoorfrom the outside world. Inthe“modernage” 
ofCommodoretelecommunications, it'sessential that 
the BBS be backward-compatible with older modems 
and that it allow Sysops to use current modems and 
interfaces as well. Itallows modem speeds from 1200 
bps up through the range of the Turbo232 cartridge 
(115,200bps). Centipede works with Commodore- 
compatiblemodems such asthe Commodore 1670 or 
Aprotek modems, and other modems using either a 
User Port or Cartridge Port interface (including the 
SwiftLink or Turbo232). 

As Centipede works with several devices that can 
use either the User or Cartridge port, the manual also 
covers additional items that may be required such as 
acartridge port adaptor ora C128 Adaptor Board for 
the Lt. Kernal hard drive. 


Setting Up 

After reading the manual away from the computer a 
few days before setting up the software, I had a fairly 
reasonable idea of the type of BBS I wanted to set up: 
asingle user BBS system so that I could participate in 
the BBS networks that Centipede connects with and 
communicate with other Commodore sysops. If you 
don‘thavemuchin thewayofCommodoresupportin 
your area, setting up a single-person BBS and 
networking with other systems ative way to get 
support. I allowed myself two days to set up the BBS, 
and was really pleased that it only took an afternoon 
to have it up and running with the default Centipede 
system structure. One of the unique things about 
Centipedeisthatitallows Sysopsto set up their BBS so 


24 


that it has the look and feel of any type of BBS you 
want. Add-ons included with the BBS software allow 
you to change the structure so the commands and 
menu structures are similar to a Color64 or Image 
BBS. You can also customise the BBS to suit your own 
preferences, 
documented. 

As my system is only intended for personal use, I 
didn’t need to set up games or file transfer areas, sol 
didn’t concentrate on those aspects of Centipede. 1 
noted, however, that it has several games available 
and utilities to convert Color64 and V128 games and 
other add-ons. The documentation discusses several 
ways the Sysop can approach designing and 
implementing file transfer areas. 


and the utilities to do so are well 


User Features 
Having a BBS that’s full featured and easy to use from 
the Sysop point of view is important, but it’s just as 
important that it be easy for the general public to 
navigate and use. Having never accessed a Centipede 
BBS, lexpectedtohave problems “navigating” through 
the BBS asa user since I'm not familiar withit, but this 
didn’t happen. The menus were easy to find, 
understand and navigate. Features that stood out in 
thisarea include the ability to define message areas to 
read, which is stored in the User's information file. 
Fullscreen and line editors, that can be accessed from 
each other, find and replace while editing, and the 
ability to upload text files to messages.. For file 
transfers, you can “tag” or select files using a full 
screen file selector. Centipede currently accesses with 
ComLink and Net64 networks, and access to the 
CommNet network is in Beta testing, Email (private 
messages) can be sent to individuals on the local BBS 
as well as to users on any networked BBS systems. 
There's very littleabout Centipede that I didn'tlike. 
It’s obvious that the author is experienced with 
Commodore BBS'sandhemanagedtocreateasystem 
that incorporates the best while avoiding many ofthe 
pitfalls of other systems. My only complaints are that 
itaccesses devices 8-15, instead of 8-30, and when the 
sysop exits the BBS, it doesn’t reset the computer. 
User documentation for the BBS would be a nice 
addition, but because the default Centipede system is 
soeasy to navigate, itisn’t necessary. It's easy to set up 
and use, and that's what will make this BBS software 
package legendary. 


-Gaelyne R. Gasson 


, 


Issue 23 


MEETING 64/128 USERS 
THROUGH THE MAIL 


C= 


NO USER'S GROUP? 
USER'S GROUP FADING? 


Join our world wide group 
for answers to your burning 
questions about C=64/128 


COMMODORE MAILINK 


Contact; Tom Adams, (President) 
4427 39TH ST 
BRENTWOOD MD 20722-1022 


tomadams@sysnet.net 


GEOCABLE Il 
Parallel Print Cable 


The Most Advanced Parallel Print Cable Ever! 


¢Uses Standard Cable = * Faster Output 
Equipped with a female DB-25 _Parallel printing offers up to a 
cable connector to allow use of | 40% increase in output speed. 
standard 'PC’ printer cables. * GEOS Drivers Included 

* Switchable Pass-thru Includes GEOS drivers plus 
Allows connection of printerand © useful GEOS utilities like 
other user port peripherals such MacAttack |I, WronglsWrite, and 
as modems without conflicts. GEOS CONVERT. 


GEOCABLE-II (6 ft.) ONLY $29.00 GeoCabie itis compatibie with GEOS, Portect 


GEOCABLE-II(15 ft.) ONLY $34.00 Print LO. Action-Replay MK VI, Superbase, 
Shipping: US $5,00, Canada $7.00. Superscript. Paperclp Il and all software that 
Foreign $25.00. Supports user port parallel printing 


Creative Micro Designs, Inc. 
PO. Box 646 Orders: 800-638-3263 
East Longmeadow, MA 01028 Info: 413-525-0023 


Issue 23 


The Internet for Commodore C64/128 Users 
2nd Edition 
by Gaelyne R. Gasson 
ISBN: 0-646-32207-9 

The only C= 64/128 Internet reference guide, this 296 page manual takes 
you through hardware and software needed, how to get online and what you 
can do once you're there. It covers Email, World Wide Web, FTP, IRC, 
Telnet, Newsgroups, Commodore files, archives and much more. 


ONLY $29.95 US + $7.00 shipping via Economy Airmail 
Visa, Mastercard, Amex and personal checks welcome. 
VideoCam Services 
90 Hilliers Rd, Reynella 5161, Sth Australia 


Phone: +61 8 8322-2716 Email: videocam@ videocam.net.au 
Fax: — +61 8 8387-5810 WWW: hup://videocam.net.au 
Also available from Loadstar, Item #900920 


Commodore World Back Issues 


cw Commodore World Issue 1 CW12 Commodore World Issue 12 


cw2 Commodore World issue 2 CW13, Commodore World Issue 13 
cw3 Commodore World Issue 3. CW14 Commodore World Issuc 14 
cw4 Commodore World Issue 4 CW15. Commodore World Issue 15 
cws Commodore World Issue 5 CW16 — Commodore World Issue 16 
cws Commodore World Issue 6 = CW17 Commodore World Issue 17 
cw7 Commodore World Issue 7 CW18 — Commodore World Issue 18 
cws Commodore World Issue8 CW19 — Commodore World Issue 19 
cws Commodore World Issue9 CW20 — Commodore World Issue 20 
CW10 — Commodore World Issue 10 CW21 Commodore World Issue 21 
cwit Commodore World Issue 11 CW22 Commodore World Issue 22 


Shipping: U.S. and Canada $2.00 for first issu, plus 
$1,00 per addtional issues.; Foreign $5.00 per issue. 


TO ORDER CALL 1-800-638-3263 
UPGRADE YOUR COMMODOR' 


Refurbished Hardware 


(24-2400 Baud (64/128) 
Usor Switch 
Convert-A-Com 


New CMD/J.P, PBM. sccnananiee 
JittyDOS CE4/SX64 'Sy: 

JitfyDOS 128/1280 ‘sy Srass 
428 Kernal $57.95 64 Kernal $47.95 
Additional JitfyDOS Drive ROM $32.95 
RAMLink Bs, $209.95 chw OMB $259.95 
ow 1 MB 


084s $229.95 Euscard-| $59.95 
‘5 $44.95 1S30C2N $24.95 


Miscellaneous 


Printorintortaces $49.95+ Ral Time Clock (Optional) Add $24.95 
Epyx Fastload Cartridge $34.95 FD-2000 $239.95, 
Super Snapshot v4 9.95 NEW Super Snapshot v5.22 $74.95 
Super Grafix Jt. $38.95 1750 Superclone REUS12K $169.95 


Ask For Anything! We May Havo Itt 


Build your own 1581 disk drive! 
Just add any PC 3.5 inch drive! 


Kit Includes: 
* Easy to follow instructions - 
* Case ciw Logic board 
* External 1581/1541-Il power supply 
* Serial cable to chain into your system 
+ Expert Technical Support 
‘= 90 Day Warranty through us 
* Optional JiffyDOS ROM for only $32.95 more 


Instant 1581 Kit/3.5 inch DSDD Bulk Disks/Replacement Parts 
Instant 1581 Kit... . $49.95 


1581/1541-II Power Supply only $24.95 
1581 Logic Board only $19.95 
1581 Outer Case only ..... vos $12.95, 
OPTIONAL 1581 JIFFYDOS DRIVE ROM $32.95 
Bulk 50 pack 3.5 inch DSDD diskettes .............. $15.00 


J.P. PBM Products By Mail 
‘Box# 60515, N. Sheridan Mall P.O. 
Downsview, Ont. Canada M3L 1B0 
7%GST, Ontario +8% PST 


, $100-$199=8%, 


‘Send CDN Funds/20% USA Exchange 
15 day Warranty On Refurbished Hawr. 
Allow 4-8 weeks for dolivery 

Catalogue Disk (64 Format) — $2 


$200-$499-7.5%, $500+=6%, USA=15%) 


Tax-Canada + 
Shipping-S0-S25-S4, $26-S: 


25 COMMODORE WORLD 


Just For Starters 


HELPFUL HINTS FOR HANDLING DISK DRIVES 


1 come not to bury floppy drives, nor to praise 
them, but to try to make your life with them a 
little easier. 

In this column, we've recently discussed all 
the little add-ons you might want for your 
system to make your drives faster and more 
productive. But there are other tips and tricks 
to keep in mind that don't require any 
additional hardware. 


Mystery Errors 

One of the most frustrating crashes you can 
encounter as a Commodore user isa disk drive 
error in the middle of a game or application. 
In virtually all games and many productivity 
programs, it’s not possible to check the type of 
disk error from the program itself, and not 
possible to exit to BASIC. You can reset or 
turn off your computer to get out of the crash, 
but doing that will reset the disk drive, and 
you'll never know what the red blinking was 
all about. Ifonly you could see what that error 
was, you might be able to determine if there 
may bea physical error on the disk, a missing 
file you might beable to retrieve froma backup, 
or something else. 

In general, when you want to check the error 
channel from BASIC, you can either use the 
short type-in program found in your drive 
manual, or one of many utility cartridges or 
ROM enhancements with a built-in DOS 
wedge. Alternately, ifyou have multiple drives 
but no utility cartridge, you can load a DOS 


COMMODORE WORLD 


wedge such as the one found on the 1541/ 
1571 Test Disk on the drive which is not 
displaying the error. 

One way to find out what error has occurred 
ifthe program doesn’t make any allowances is 
with a powerful freeze cartridge which can 
channel disk commands from the freeze menu. 
The Action Replay fits this category, but has 
become somewhat difficult to find. If you do 
have access to one, you can use the monitor or 
the disk tools to quickly check the error. 
Another freez tridge, the Final Cartridge 
IIL, will make an exit to BASIC without cycling 
the disk drives, so the error status will remain 
and you can check it then, 

But for the rest of the world, the solution 
requires a little more effort. When I first 


26 


learned of it, | had the same reaction you'll 
probably have: “Isn't that a bad idea?” But I 
am assured from some of the highest 
authorities around that what we are about to 
do is safe. Because resetting (or physically 
turning off and on) the Commodore causes 
the disk drives to spin and reset their error 
status (the blinking will stop and the error will 
be forgotten), we need to make sure the disk 
drive doesn’t know the computer is resetting. 
The solution is simple and inelegant—remove 
the cable connecting the computer and disk 
drive while you reboot! I would recommend 
removing the disk drive end. So, when a pesky 
error shows up, pull out the cable from the 
drive, turn your Commodore off and then on 
(or hit the reset button on a 128), then plug 
the cable back into the drive and check the 
error! 


Are You There? 

Included here isa short little type-in program 
you can use to poll the chain of disk drives 
connected to the machine. 


1@ for is8 to 3@ 

2® openi5,i,15:closel5 
30 if st=@ then print 
;dv;"is present" 

40 next 


"device" 


When you run this program, you'll see a list of 
device numbers for all of the serial bus devices 
which are connected—at least those which 


Issue 23 


WW 


thout a disk dir 


difficult 


to get along in the world. Keep yours 


happy... and vo 
Commodore that much more.” 


are functional enough to return a certain 
command code to the computer. 

Why might you find this useful? For one 
thing, if you're having some trouble with a 
multi-drive chain, you can use this to make 
sure that every drive is responding and that 
each of the device numbers you are expecting 
to see appear. Disk drive device numbers start 
at8 (for somewhat arcane reasons—you might 
think 1 would be more logical, but at the time 
the decision was made, tape drives were much 
less expensive so it was thought they would be 
used extensively, hence the 1 designation for 
tapes.) Depending on what sort of drive you're 
using, they can range up to 11, 15, or 30. Each 


drive needs a unique number. The most basic 
drives, the 1541 and 1571, range up to 11. 
These either have small DIP switches on the 
back to select the number (new style) or must 
be modified internally (old style) to make the 
change. So, youcan use this program to ensure 
that each drive on the chain shows up once— 
if you're short a drive, you should recheck all 
of your cabling, power, and device number 
selection and then try again. 

It could also be used as a quick method to 
test the functionality ofa large supply of disk 
drives. It's not uncommon for an eagle-eyed 
Commodore user to come across a large cache 


Issue 23 


"il en 


of disused or unwanted equipment, likea stack 
of floppy drives a school no longer needs. The 
condition of the equipment might be suspect, 
however. Ifyou can assign the drives different 
numbers, hook them all up, and run this little 
program, you can at least verify that 
somebody's home inside the drive. Of course, 
if they've been dropped, drop-kicked, or 
otherwise abused, there may be physical 
problems (like the alignment of the drive head) 
that won't show up in this simple test. 


Mass Extermination 

Sometimes, you'll want to format alot of disks 
at once. Some other 8-bit users like to make 
fun of Commodore computers because the disk 
formatting command from BASIC is relatively 
more convoluted than theirs—and they do 
have something ofa point. Any old DOS wedge 
speeds the process considerably. Or, you can 
use a special format utility program, such as 
the one we've provided here. The EZFormat 
program will allow you to format disks in any 
drive you have connected to your computer, 
as many times as you want, with a simple 
keypress. 

There are really two format commands on 
the Commodore. One cleans the entire disk 
thoroughly and places a new name and two- 
letter ID code on the disk. (The ID shows up 
on the right hand of the first line of your 
directory listing, before the“2A” common with 
1541 disks.) The second format only wipes the 
record of the files on the disk and changes the 
name, leaving the ID intact. All of the data is 
really still on the disk, but now the drive won't 
be aware of it and will blissfully put your new 
data over the old. When formatting a disk for 
the very first time, you must do a thorough, 
name plus ID format. For example, if you're 
using fresh blank disks or disks previously in 
use on another platform, you will need to do 
the more complete format before using them 


27 


joy us 


ag your 


for the first time. After that, you can feel free 
to use the quick version. If, however, you 
suspect a disk might have a physical flaw after 
you've been using it for a time on your 
computer and you want to use that disk again, 
it's best to doa full format—that way, if there 
areany errors on the disk, you'll know about it 
in the formatting process and can file the disk 


inthe appropriate disposal facility, rather than 
losing your valuable files later on. 

EZFormat will allow you to format whatever 
disk is in any powered drive with a simple 
menu choice. You can hit “Y” to format the 
disk in the device named, “N" to continue on 
to the next device, or “Q” to exit the program. 
EZFormat only performs “full” formats. After 
entering the name you will be prompted for an 
ID code. If you do not want to enter your own 
name and/or ID code, just press the RETURN 
key at the promts and the program will 
randomly create one for you. EZFormat can 
be very helpful ifyou’re preparing a large batch 
of disks for use—say, you're planning to make 
a backup, or will be downloading a lot of files 
very shortly. 


Other Hints 

Disk errors are often caused by contaminated 
read/write head. Check your local Radio 
Shack, and you should be able to find a head 
cleaning kit made specifically for disk drives. 
These are like the head cleaning kits for video 


COMMODORE WORLD 


or audio tape decks, but come with a disk 
instead of a tape. 

Not being able to read disks can also be 
caused by head alignment problems. One easy 
way to spot this is if you're able to format, 
write and read new disks, while all of your 


COMMODORE WO 


older disks turn up disk errors or cause the 
drive head to bang a lot. If you have this 
problem, the only proper cure is to have the 
drive serviced. You might be tempted to just 
buy a second-hand drive instead, since they 
can often be had for less than it costs to get the 


alignment... but be aware that there's no 
guarantee that the used drive you buy will 
have proper alignment either. 

Having too many devices attached to the 
serial bus or leaving devices attached and 
turned off can cause bus loading problems. 
Any drive you have attached should be turned 
on when the computer is in use, and should 
have a unique device number. Not following 
this advice could create problems—bad loads 
that result in getting Syntax Errors when trying 
to run a program, or complete lockups of the 
serial bus when attempting to access drives. A 
bad serial cable can also cause similar 
problems, 

Don't place your disk drives immediately 
next to your monitor, and also keep serial 
cables as far away from your monitor as is 
possible. Monitors emit a lot of Radio 
Frequency (RF) noise into the surrounding 
area, and this can be easily picked up by 
nearby cables or components inside your 
disk drives. 

To extend the life of your disk drives, make 
sure they are always well-ventilated. Try not 
to stack two large drives right on top of the 
other, for example, particularly those with an 
integrated power supply (such as the 1541, 
1541C, and 1571). The drive most prone to 
heat troubles tends to be the 1541 with the 
spring-loaded push door, so be particularly 
cautious around those models. 

Since good disk-notchers (used to enable 
writing to the flip side of floppies on 1541 
drives) aren't in very ready supply anymore 
(as most of the world doesn’t use that style of 
disk any longer), any regular old hand paper 
hole punch will do the trick quite nicely. 

Gota “pinched” disk, where the disk sleeve 
isbinding the disk and keepingit from rotating 
freely? If you're careful, you can cut open the 
faulty sleeve with an Xacto knife and place the 
media ina different sleeve. You probably don’t 
want to keep using a disk this way, but it 
makes a good temporary means for copying 
the disk’s contents. 

Withouta disk drive, it’s very difficult to get 
along in the world. Keep yours happy—and 
make sure it's keeping you happy—and you'll 
enjoy using your Commodore that much more. 


Jason Compton is a freelance writer and 
Editor of Amiga Report, the online news 
resource for Commodore Amiga users. Jason 
can be contacted via Email at 
jason@cmdweb.com. 


CHECKSUM 


Commodore World’s Program Entry Checking Program 
and Tips on Entering Programs from this Magazine 


CHECKSUMisa progi 
the magazine, It assigns a numeric: 


m that proofreads your typing when youente 


thevalues ofthe lineyou typed and displays the sum. (Checksum, therefore, means mean “perform the function explained within. 
that you need to press the space bar 22 times, Don't type the braces (you can't, of 
ksum won't tell youifyoumissaline course, because therearenocurly bracesin the Commodorecharacterset). Hereare 
at yourself.) Checksum runs "in the background” when some other common examples: 


thatit checks yourtyping by summing the cha 
typed the charactersin the proper order. (Che 
of code entirely, so verify 
you type in lines of program code. Whenever you type a line and press RETURN, 
Checksum will display a value. Compare that value to the value published next to 
the line of code in the magazine. If the numbers match, you've typed the line 
ple. 


acters.) It also verifies that you have 


correctly, 


Typing in CHECKSUM 
I 
RE 


save it. In fact, save it a few times while you're typing, just to be safe. (This is good ready to run your program, right? Not quite. 


{2 CRSR DN} 
{CTRL i} 
{CMDR t) 


{CLEAR/HOME} hold down the SHIFT key and press the CLR-HOME 
tap the cursor down key twice, 

hold the CONTOL key and press the I key. 

hold down the COMMODORE ke 


, type in Checksum carefully from the listing on this page. Be sure to press Continue typing in your program, saving often and eh 
TURN afterevery line toenteritinto memory, Onceyouhayetypedtheprogram, — with the onein the magazine, until you've finished the listing, Phew! So now you're 


listingfrom Special Key Combinations 
value to each character that you type, adds up — Asyoutype, you may be confused the first time you see curly braces {) 


hese bra 


For example, (22 SPAC 


and press the T key. 


ing each checksum value 


Second, deactivate 


advice whenever you typeina program. usually change the name each time I save; _ Checksum by typing SYS followed by 49152 for the C-64 or 3328 for the C-128, Now 


forexample 
sure that you' 
you've typed. If you make errors when typing in Checksum, a test run of Checksum 
will tell you which line is incorrect. (This safety feature works only in the Checksum 
and doesnot apply to any other listingsin the magazine.) Whenever 
you find a typing error (in any program listing), fix it, press RETURN to enter the 
change, save the program again and try another run. Repeat this processas often as 
necessary. Important tip: Don’t get discouraged if the program won't run. Be 
patient. Be thorough. It will work eventually. You'll know your Checksum is ready 
when you see the line: 


TO TOGGLE ON OR OFF, 


Entering Programs Using CHECKSUM 

When you're ready to type in your first listing from the magazine, load and run 
cksum, Make anote ofthe number that is displayed on the screen (49152 forthe 
-64; 3328 for the C-128). To activate and deactivate Checksum, type SYS followed 
by that number, then press RETURN. You need to have Checksumactive whenever 
you're typing in a listing. Checksum must be deactivated, however, when you run 
the new program. The next step is typing in a new program listings it appears in 
the magazine, 

As you begin, you'll notice that to the left of the start of each line is a number. 
Don't type this number in: It’s simply the Checksum value, Stop typing at the end 
of the program line and press RETURN, If you've typed the line correctly, the 
number displayed on the screen will mateh the Checksum value. If the numbers 
don't match, you've made a mistake, Check the line carefully, make your changes 
and press RETURN. The computer won't know you've made a change unless you 
press RETURN on the changed line to enter it. A few type-in hints: The Checksum 
does not verify blank spaces in the program lines unless they are within quotation 
marks, because adding or omitting such spaces will not affect the operation of the 
program. The exception to thisis hexadecimal Data statements, These are the Data 
statements, such as this one, that don’t have commas: 


100 DA 1234567890 67890*1234 
67890*12345678901234567890* 


6789012345 


Instatements such as these, you must have one space between the word DATA and 
the numbers that follow, Checksum will not catch that error, 


Checksuml, Checksum2,andsoon.)Double-checkyourwork, making youcanrun. Don'tbediscouragedif youstill getan error. It happens, Use Checksum 
e typed in everylineand that you've pressed RETURNaftereveryline faithfully. Be patient. Be thorough. It will work eventually. 


a 


CHECKSUM 


for j=1 to 1 


print"you 


rem do not change these data sta 
data 120,162, 24,160,13,173,4 
08,4, 162,13,160,67,14 
3,88,96,32,13,67,152,72,169,697 


data 
data 


data 


32, 


3,201, 24, 884 
4,3, 140,903 


5,104,168, 1448 


104,168, 96,1289 


240,255,169,18 


Issue 23 29 


COMMODORE WORLD 


Graphic Interpretation 


Time. Something we all have in equal 
amounts no matter what our social or 
financial standing is. Time is one of 
our great constants. Every day, for 
every person on earth, is 24 hours 
long. Every year is 365.25 days. There 
isno escaping time. You may last from 
January to December without new 
clothes or a new car, but you need a 
new calendar every year. 

For some of us, time is more 
constant than for others. To see ifyou 
are one of these people, load GEOS 
and take a look at the top right corner 
of the Desktop. Does your clock say 
07/06/88 01:00 PM (thisis the default 
setting in GEOS 64 V2.0)? If it does 
you are definitely one of the 
Chronologically Challenged (C.C.) 
and need to pay attention to the 
information in this article. If your 
clock says something different—good 
for you, but read on anyway as you 
may discover some interesting ways 
to handle your time. 


COMMODORE WORLD 


dy Bruce Thomas 


GEOS; FOR A GOOD TIME... 


2K or 2 8's... Which Is The 


Problem? 
Every time we turn around these days 
it seems like there is someone else 
pointing out some new angle on the 
infamous Y2K problem. This 
situation will come toa head ina little 
over a year when computer systems. 
have to deal with dates in two 
centuries. 

For GEOS users the Year 2000 
situation is not too serious. Only a 


30 


limited number of GEOS applications 
will be affected by this. The Desktop 
Clock only displays the last two digits 
in the year as does the File INFO box. 
Apatch for the Calendar program was 
published in Commodore World #10 
and is available on the CMD web site. 
GeoWrite and GeoPublish will need 
to be fixed so that the DATE function 
will print the proper century (like the 
Calendar, only two bytes should need 
to be changed). 

The real problem for GEOS users is 
not Y2K but Y88 as indicated by the 
C.C. users clock. GEOS stamps the 
date and time on every file you create. 
You can view this information by 
opening the File Info box (highlight 
the file and choose INFO from the 
FILE menu or press COMMODORE- 
Q) or by choosing the VIEW menu 
and then the BY DATE option. To 
avoid the Y88 problem you must make 
sure your clock is set when you boot 
GEOS. 


Issue 23 


For GEOS users the Year 2000 
aber of GEC 


serious. Only 
will be afie 


Tick Tock, Tick Talk 

Having the date and time of 
modification associated with your 
files is a fantastic help. Unless you use 
avery descriptive naming convention 
on your files it would otherwise be 
difficult to tell which file is the most 
recent one. Setting the GEOS clock is 
not something that all users do, but 
everyone should. 

Early versions of GEOS made 
forgetting about the clock easy. This 
was because there was no clock on the 
Desktop. Once V2.0 arrived and the 
clock stared out at youit became easier 
to set, but you still had to remember 
to set it. There are many ways to do 
this—some better than others. 

For starters you can simply click on 
the clock with your input device and 
then enter the date and time. If you 
like menus and want to use two clicks 
to set the clock you can choose the 
SET CLOCK option under the 
OPTIONS menu. If either of these 
options aren't simple enough for you 
there is a Desk Accessory in GEOS 
that lets you set the time and date 
among other things. 

Not only can you set the DATE and 
TIME with the Preference Manager 
but you can also customize your 
mouse cursor and screen colors. Click 
the Date or Time box and enter the 
new values. Make sure you press 
RETURN prior to moving your 
pointer as the new values will be lost 
if you don't. Before Auto-Exec files 
were introduced in V2.0 customized 
fake input drivers were used to load 
the Preference Manager during the 


Issue 23 


eted...” 


boot process so we could set the date 
and time. 


A Done Deal 

With the new Auto-Exec files in V2.0 
there came a flurry of small files to 
ensure your clock was set. These files, 
when placed on your boot disk, would 
prompt you in some way to enter the 
time and date. Using one of these 
programs would ensure you didn’t 
suffer from the Y88 problem. But 
which one to use? 

I must admit, I tried a bunch of 
them. I finally settled on a 2K file by 
Rick Koch called AutoClock V1.5 
(dated 4/1/91 12:00 AM). What set 
this one apart from all of the rest was 
one nifty feature that it has, plus it 
works in GEOS 128 also. 

AutoClock V1.5 saves the Date and 
Time that you enter. The next time 
you boot GEOS you can see when you 
booted it last as you set the time for 
your new session. For those of us who 
use GEOS every day this is not a big 
deal, but if you are a casual user you 
may want to know. 


But I Don’t Want To Set My 
Clock! 

Fine. And that is the way I like it too. 
Let's face it, we're basically lazy. That's 
why we use computers. Let the 
machine do the work for us. Check 
my spelling, balance my budget, 
calculate my taxes, set my clock (!?). 


In keeping with the tradition of 


GEOS some people early on figured a 
way to do things and others have 
improved on that. There were some 


31 


tuation is not too 


applications 


clock units produced that plugged 
into your joystick port (with a pass- 
through connector for your mouse) 
and GEOS would read the time and 
set the Desktop clock during the boot 
process. There are also plans available 
if you want to build your own clock 
unit (SmartWatch) and GEOS 
programs to access it. 

Nowadays you can still get a clock 
unit that plugs into your joystick port. 
This one, however, doesn't have a 
pass-through connector because it is 
already a mouse. The CMD 
SmartMouse improved on the old 
clock and the mouse at the same time 
by adding a third mouse button for 
improved functionality. 

If you are happy with your present 
input device and don’t want to buy a 
SmartMouse then maybe you need a 
new disk drive or mass storage device. 
Yes, RAMLink and the CMD FD-2000 
3.5" floppy drive can both be ordered 
with an optional internal clock 
module (I have one in my FD). The 
HD Series Hard Drives come standard 
with an internal clock. All four of the 
CMD units mentioned here come with 
handy Auto-Exec files to set the GEOS 
clock during the boot process with no 
user intervention, 

So there it is. As a GEOS user you 
are not going to be too badly affected 
by the Y2K problem. What we need to 
erradicate is the Y88 problem and, as 
you see, it is an easy one to stomp on. 
Until next time, enGEOy your 
Commodore! 


®) 


COMMODORE WORLD 


Carrier Detect 


By Gaelyne R. Gasson 


TELECOMMUNICATIONS NEWS & UPDATES 


Bulletin Board News 

Looking for BBS's to call? Dick Cunningham 
(oasis@pipeline.com) has been maintaining 
the Commodore 64/128 BBS List (http;// 
www.jbrain.com/pub/cbm/faq/cbm-bbs- 
list.txt), covering only those BBS’s which are 
up and running. The list is posted twice a 
month to the comp.sys.cbm newsgroup. 
Another verified list contains boards that 
support Commodore computing but are run 
on other platform computers (http:// 
wiv. jbrain.com/pub/cbhm/lag/chm-supp-bbs-list.txt). 


Try a SuperCPU BBS 

Ifyou don’t already have a SuperCPU, you can experience what using 
one is like by phoning a Commodore BBS and checking out the speed 
of the system, The following boards are run on either the C64 or C128 
and operate at 20 MHz. 


BBS Name Phone Number Location BBS/Network Software 
Kapital K’pers (941)-656-5613 N, Fort Myers, FL Image/CommNet 

The Mailbox (610)-834-9694 Conshohocken, PA Image/CommNet 

Star Base 2 (041)-748-6618 Bradenton, FL Color 6¢ 


OMNI-World-Germany +49-8121-971942 Gelting, Germany OMNI BBS 


Fidonet BBS’s on the Internet 

Many people have problems finding a local Fidonet BBS that carries 
the CBM Fidonet echos, but the good news is that there are Fidonet 
boards that can be reached using telnet on the Internet. In order to 
transfer files using regular protocols during your telnet session (such 
as when using a QWK door to transfer mail), the command to start the 
session should be in the format of “telnet -8 bbsname”. Try these BBS’s 
available via telnet: bbs.neverending.com, cereal.my.com, and 
juge.com. Ifyou have web access, but don’t havea telnet client that can 


COMMODORE WORLD 


32 


perform file transfers, you can read Fidonet 
messages directly via web pages at http:// 
twww.stafinet.com/echos/content.html-ssi, 
See hetp://videocam.net.au/~gaelyne/ 
cbmfido.html for additional info. 


Desterm v3 in Wide-BETA Testing 
Matthew Desmond has been busy, and 
released two wide beta versions (at the time of 
this writing) of Desterm v3 with another 
update coming soon, Desterm v3 is compatible 
with CMD devices, the Turbo-232 UART cartridge (up to 115200 
baud). It supports 2 Megabytes of RAM Expansion, has RTS/CTS 
(hardware) flow control, and Zmodem (receive-only at present), and 
includes a new character set editor as well. The latest update is always 
available from the Official Desterm 128 Web site at http:// 
www. ionline.net/~mdesmond/desterm.html (Files: undar128.exe, 
des-302.da0, des-302.dal, des-302.da2, des-302.da3, des-302.da4). 


Dialogue 128 Freeware 

Gary Farmaner recently announced in the comp.sys.cbm newsgroup 
that his software, Dialogue128 is now freeware. New users of 
Dialogue128 should be made aware that they must use the disk side 
that corresponds to their modem interface type (side one is for user 
port modems and interfaces, while side two supports SwiftLink and 
similar interfaces). Also, unless your modem has been previously set 
with &C1 (carrier detect follows carrier) as a default, the program 
won't allow you to dial out or send any commands. If you experience 
either of these problems, then while in the terminal window type three 
plus symbols ("+++") and then press <RETURN> very quickly; this 
will place your modem into its command mode. Type AT&C1&W to 
change the modem’s default setting for carrier detection and save it to 
the modem’s NVRAM (Non-Volitile Random Access Memory). You 
can get all of the files for Dialogue 128 at ftp://videocam.net.au/chm/ 


Issue 23 


The New Standard in Modem Interfaces 


High-Speed Support 7urbo232 keeps 
up with today’s fastest modems, 
offering speeds up to 230Kbps 


Easy-to-use! Just plug Turbo232 into 
your computer’s expansion port and 
connect it to. almost any external 
RS-232:modem 


SwiftLink Compatible Designed to 
work with programs written for the 
popular SwiftLink cartridge 


Easy Configuration A simp/e jumper 
block lets you quickly change the 
configuration for special situations 


Nall Transfers May be used as a null- 
modem interface for direct transfers 
with other computers 


The quest for faster online access has made33,6Kbps modems 
the new standard, and it won't be long before 57.6Kbps. 
modems move into the spotlight. CMD's Turho232 picks up 
where SwiftLink left off, helping you.keep pace with today’s 
Faster modems! 


Turbo232| 


HIGH SPEED MODEM INTERFACE : 


Maradactured and dairbaaed by Crestve Micro Designs, Inc. BH 
‘Copyright © 1997 Creative Micro Designs, Inc. 


US Robotics Sportster 


°33.6Kbps Faxmodem 

° Upgradable to 56Kbps 
«Compatible with geoFAX 

¢ Perfect for use with Turho232 


Turbo232 $39.95 
Modem Cable $9.95 
Turbo232/Novaterm 9.6 $65.00 
USR Sportster 33.6Kbps Faxmodem $169.00 
Turbo232/USR Sportster 33.6 $199.00 
Turbo232/Sportster/Novaterm 9.6 $214.00 


Note: Prices do not include shipping. Prices and specifications are subject to change 
without notice. Not responsible for typographical errors. 
Creative Micro Designs, Inc. 
1-800-638-3263 


4.sfx, (side two of program “disk: ] 
, dlg-s4-4.stx, [documentation files:] 
dlg-doc1 sfx, dlg-doc?.stdlg-doc3.sfx, dlg-docd. sf). 


PKZIP 2.04g Unzipper 

Someone had to doit, and Errol Smith now has the distinction of being 
the first and only Commodore programmer to create a program to 
unzip those pesky PKZip 2.04¢ files. This 21 block program (after it 
self-extracts) even supports CMD device paths. It’s essential for anyone 
who's ever had to cope with Zip files created on other platform 
computers that Bill Lucier and David Schmoll’s unzip programs 
couldn't handle. This program also removes a major stumbling block 
for offline mail reading (QWKie or QWKRR) with BBS's that 
automatically send PKZip 2.04g mail packets. You can find the program 
at hetp://www.ros.com.au/~errol/64.html (File: unzp6420.prg). 


QWKRR128 v5.1 

The first major update for QWKRR128 in over two years was released 
last year. New features include a word search utility, MIME and 
UUencoded files can be decoded to screen, disk or printer, and you can 
attach text or binary files to outgoing messages using Base64 (MIME) 
or UUencode. Messages of any size can be read, with reverse paging so 
you can see previous screens of the same message. It also supports full 
255byte character sets, and uses keyboard tables that can be 
reconfigured for non-English users. Rod Gasson says he still has a few 
improvements to make to the program before he considers it complete, 
andis continuing work on it. You can get the latest version from http:/ 
/videocam.net.au/qwkrr/ (Files: QWKRR5-0.TXT, QWKRRS5-1.SEX, 
QWKRRS-2.SFX, QWKRRS-3.SFX, QWKRR5-4.SFX, QWKRRS- 
5.SFX). 


Graphic, Text and File Conversions 
GoDot http://users.aol.com/howtogodot/welcome.htm 
Since there is no Commodore 64 or 128 graphical Web browser at this 
point, we download graphics to view them offline. This has become 
much easier with the new English version of GoDot (available from 
CMD). GoDot lets us view GIF87a and GIF89a type GIF files, although 
it doesn’t yet handle interlaced type GIF files. The demo version of 
GoDotis fully functional with these exceptions: it doesn't save or print 
files. Program author Arndt Dettke (god.ADettke@t-online.de) has 
written new loader and saver files for compressed Doodle and Koala 
files since the English commercial version became available, and is 
also considering making a module to save GIF files. You can obtain the 
demo version of GoDot from ftp://videocam.net.au/cbm/graphics/ 
GoDot/(Files: godotdm1.sfx, godotdm2.sfx, godotdm3.sfx). The new 
compressed Doodle and Koala loaders and savers are also available at 
this site (Files: doodle.ldr, doodle.svr, koala,ldr and koala.svr). 

Another useful graphic utility is C2G.BIN (author unknown). It has 
a simple name, but this little C64 utility lets us to convert Doodle, 
Koala, Advanced Art Studio, GeoPaint (non-GEOS format) and RLE 
files to GIF format. This is extremely useful for sharing our artwork 
with others online and for creating graphics on our Web pages. This 
program is available at ftp://videocam.net.au/chm/graphpics/ 
c2g.bin. 

John Halloran saw a comment | made in one of the Fidonet echos, 
took it to heart, and created QTT 64v2. At the time, there were no 
stand-alone C64 programs available that would change the end of line 


COMMODORE WORLD 


34 


format of text files. There are three different file formats that we 
commonly deal with on the net (Commodore, MS-DOS, and UNIX), 
and having a quick utility to deal with the end-of-line differences 
would relieve a lot of headaches. The latest version of John’s QTT64 
automatically detects the current format and offers a menu of 
conversion choices. The program can also convert ASCII files to 
PETASCII format. You'll find this program at http://videocam.net.au/ 
qtt64/ (File: qtt64v2.sfx). 

GEOS users with some net-saavy may find GeoConvert 97 very 
useful. This is a German GEOS program written by Markus Kanet 
(106744.730@compuserve.com) that converts GEOS files to CBM 
format (and vice versa), Uuencode, and D64 files. The documentation 
and program messages have been translated to English by Arndt 
Dettke. You'll find this program and associated documentation at 
ftp://videocam.net.au/cbm/geos (Files: conv97d.sfx, conv97d- 
english.txt, conv97d-msgs.txt). 


Commodore Mail List Updates 
Nick Rossi started the Novaterm Mail List to provide Novaterm users 
with a way to share comments, questions, and answers with each 
other. To subscribe to the list send Email with a subject of “subscribe” 
to: novaterm-list@eskimo.com 

Jim Brain's list services have recently grown to encompass two more 
mailing lists (SCPU and TIFCU). Among the lists available are: 


ListName — Topic 
scpu MD's SuperCPU's. Moderated/Owned by Dick Cunningham. 
tifeu The Internet for Commodore Users. Moderated/Owned by 


Gaelyne Gasson. 

comp.sys.cbm newsgroup* 

comp.binaries.cbm newsgroup* 

comp.emulators.cbm newsgroup* 

C=Hacking Magazine (sent when new issue is available). 
FAQ file for comp.sys.cbm newsgroup (sent when the FAQ is 
updated). 


news-csc-dist 
news-cbc-dist 
news-cec-dist 
chacking-dist 
cbmfaq-dist 


“Note: To keep list traffic to a minimum, only those who have no other access 
to Usenet newsgroups should subscribe to these lists, 


To subscribe to any of these lists, send Email 
listserv@mail.jbrain.com, and in the body of the message type: 


to 


subscribe listname Firstname Lastname max-lines-per-Email(optional) 
Example: 
subscribe tifeu Gaelyne Gasson 1000 


The list name should be in lower case. If you set the max lines per 
Email, the list digest will be split up into separate messages until the 
entire digest has been sent. If this is left unspecified, the entire digest 
is sent. To find out what other lists are offered by Jim's list server, send 
an Email to listserv@mail.jbrain.com with the word “lists” as the 
message body. 

Another interesting mail service is the File Converter provided by 
Aaron Baugher (abaugher@rnet.com). While this isn’t a mailing list, 
it is a useful Email service provided for Commodore users that will 
convert certain types of files. The service converts .jpg files (a graphics 


Issue 23 


file format) into .gifformat, and zip files into .tar.gz format (for those 
who don’t have access to the UNIX unzip program). Aaron developed 
the system in response to messages in comp.sys.cbm, and in the 
Commodor and TIFCU mailing lists, as a means to assist those who 
don’t have access to other means of converting these file types. To find 
out how to use this service, send Email to cfe@haruchai.rnet.comwith 
the word “help” as the Subject. 


IRC Channel Update 

A few Commodore IRC channels have changed IRC servers, or times 
when they are av: 
Issue #17. Here 
they're open for visitors: 


ilable since we last discussed this subject back in 


in updated list of channels, IRC servers, and when 


Channel —_ Network Day/Time 

#c-64 IRCnet 24hrs a day 

#e-64 Efnet 24hrs a day (active N.American afternoon) 
#c64ntsc —-IRCnet Thursday Evenings PST 

#e-net Dalnet Sundays starting at 3pm EST 

#QWKRAR  Dainet Thurs Evenings 9pm (N.American EST) 


Online Commodore News for Newsletter Editors 

This service came about due to a request by Dale K. Sidebottom. He 
suggested to Jim Brain that a repository for Commodore newsletter 
articles would benefit many User Group editors who need fresh 
material. It also helps editors avoid re-typing and scanning errors that 


can creep into monthly news reports, and should help editors when 
creating newsletters based on a particular theme. Each participating 
editor will submit one article each month, and in return they receive 
all the articles submitted by other editors during the month. Graph 
special files and other items c tached to the articles. Jim plans 
to include Email and Web search, as well as other additions to the 
system, You'll find this service at Attp://wvww.jbrain.com/vicug/ 
cnews/. 


Wrap Up 

Jim Brain's Commodore News plan relies on newsletter editors for it 
work, so if you're online but your newsletter editor isn’t, perhaps you 
can get permission from your club to help out and build a few online 
bridges. In fact, everything mentioned in this column relies on you to 
make these things a success, from the BBS's that support us to 
programmers producing new software. It never hurts to let an author 
know how much you enjoy their program, or thank a sysop for making 
their BBS available. 


i) 


Gaelyne Gasson is the author of “The Internet for 
Commodore C64/128 Users” and can be contacted via 
Email at gaelyne@cmdweb.com or visit her web site at: 
http://videocam.net.au/~gaelyne. 


P.O. Box 1817 


CPU Shelton, WA 98584 


The Commodore 128/64 Power User Newsletter 


CPU is a bi-monthly publication that for two 
years has kept its readers abreast of new 
developments and helped those to get more 
out of their investments, 


$3.50 

$15,00 (US) 
$21.00 (US) 
$27.00 (US) 


Sample/Back Issues: 
6 Issue Subscription; 
Canada/Mexico: 
Foreign: 


Commodore World Back Issues 


cw1 Commodore World Issue 1 CW12 Commodore World Issue 12 


cw2 Commodore World Issue 2 CW13, Commodore World Issue 13 
cws Commodore World Issue 3. CW14 Commodore World Issue 14 
cwa Commodore World Issue 4 CW15, Commodore World Issue 15 
cws Commodore World Issue 5 CW16 Commodore World Issue 16 
cw6 Commodore World Issue6 = CW17 Commodore World Issue 17 
cw7 Commodore World Issue 7 CW18 Commodore World Issue 18 
cws Commodore World Issue 8 =CW19 — Commodore World Issuo 19 
cwo Commodore World Issue 9 CW20 — Commodore World Issue 20 
CW10 — Commodore World Issue 10 CW21 Commodore World Issue 21 


cwit Commodore World Issue 11. CW22 Commodore World Issue 22 


Shipping: U.S. and Canada $2.00 for first ssue, plus 
$1.00 per additional issues.; Foreign $5.00 per issue, 


TO ORDER CALL 1-800-638-3263 


Issue 23 


35 


NOW AVAILABLE 


The new operating system upgrade 
for GEOS 64 

Now you can have proper support for 

all your CMD devices 


Wheels 64 requires the following 
GEOS 64 V2.0 
1541 for the initial installation 
Ram expansion (most types supported) 


Only $36 


send check or money order to 


us $4 for shipping and 
Fandling to Noah American 


addresses or $6 elsewhere 


For more information phone: 
Click Here Software Co. 1.517-543-5202 
P.O. Box 606 or visit www.people.delphi.com/arca93 


Charlotte Ml 48813 


Wheels 128 will be introduced at the Chicago EXPO on October 24th 


COMMODORE WORLD 


eis BEAT 


By Mark Fellows 


Programming the 65C816 can be a real pleasure. The new instructions, 
addressing modes and 16-bit capability all make life easier for the ML 
programmer. Writing a program in ‘816 Native Mode almost always 
results in code that is faster and smaller than the 6502 equivalent. As a 
result, it made sense to utilize as many of the new features as possible when 
writing the CMD SuperCPU DOS. During the debugging process, we 
learned about some pitfalls that can catch even the experienced 6502 
programmer unaware. In fact, experienced 6502 ML programmers may be 
more susceptible to some of the things we'll cover in this article. As we 
found out, knowing the 6502 inside and out can lead the programmer to 
make certain incorrect assumptions about the operation of the 65C816. In 
this article we will cover some of the things that programmers need to 
beware of as they enter the domain of the 65C816. 


BIT Immediate 

At first glance, this new addressing mode for the BIT instruction seems 

pretty exci ‘iting. Our first thought was: great! now we can easily check the 
sof Bits 7 & 6in the accumulatoras well asa third bit witha simpleand 

cleinstruction. The example below should test Bits 7, 6 and 0 (we 


thought): 


BIT #%00000001 

We assumed that the new BIT Immediate addressing mode would work 
exactly like the other BIT addressing modes carried over from the 6502 (BIT. 
Zero Page and BIT Absolute). In other words, asa result of executing a BIT. 
instruction, the Negative (minus) flag should beset if Bit 7 ofthe 
accumulator is a 1 and the Overflow flag should be set if Bit 6 is a 1. In 
addition, the Zero flag should be set or cleared according to the result of a 
logical AND between the contents of the accumulator and the operand. In 
the example above, the Zero flag would beset ifBit 0 oftheaccumulator was 
a0and cleared if Bit 0 wasa 1. Without checking the 65C816 programmers 
reference, we went ahe d used the BIT Immediate instruction in our 
programs. After some fruitless debugging time and head scratching, we 
decided to check the reference guide just in case something worked 
differently with the new addressing mode. Surprise! There is a difference 
with BIT Immediate (actually two differences): 


Immedis 


1. BIT Immediate does not set the Overflow flag according to Bit 6 of the 
accumulator (Overflow remains unchanged). 

2, BIT Immediate does not set the Negative flag according to Bit 7 of the 
accumulator (the Negative flag remains unchanged). 


In other words, only the Zero flag is affected after a BIT Immediate is 
executed—you cannot use a BIT Immediate instruction to test three bits at 


COMMODORE WORLD 


36 


THINGS TO LOOK OUT FOR 
WHEN PROGRAMMING 
THE 65816 


once like you can with the other two BIT addressing modes (Zero Page and 
Absolute). However, BIT Immediate provides the 65C816 programmer 
with a quick and easy way to test any individual bit in the accumulator 
without disturbing the accumulator contents, Individual bits can be tested 
with the other BIT addressing modes only ifan eight-byte table is included 
in the source code. For nple, a 6502 program capable of testing any 
accumulator bit would require the following code: 


Ofcourse, includingan 8-byte table isnota large penalty to pay, butifthe 
table is located above zero page, each BIT absolute takes 4 cycles to 
execute—twiceas long as the 65C816 BIT Immediate instruction. 
time can be cut to 3 cycles by locating the table in Zero Page, but this wastes 
valuable Zero Page resources. 
one more thing to remember about the BIT instruction on the 
ive mode: Ifyouare using 16-bitaccumulator/memory, then 
and BIT Absolute test bits 15 and 14 of the operand memory 
location (Bit 15 affects the Negative flag; Bit 14 affects the Overflow), 
Because 16-bit memory accesses are organized in high-byte - low-byte 
order, Bits 15 and 14 are located at Bits 7 and 6 in the first byte of the 
memory location. As a result, the following BIT Absolute instruction sets 
both the Negative and Overflow flags in both 8 and 16 bit modes: 


There 
65C816in. 


80000 000 


Ifyou are testing bits in the accumulator with BIT Immediate in 16-bit 
mode, you must remember to use a 16-bit operand, Bits 0-7 are located in 
the .A register; Bits 8-15 are located in the .B register. The following 
example tests Bit 12 of the 16-bit accumulator (Bit 4 of the .B register): 


BIT #%0001000000000000 


Issue 23 


The STZ Instruction 

STZisone ofthe most useful new 65C816 instructions. Itallo 
a memory location without first loading the accumulator with 0, which 
provides many benefits for the machine-language programmer. The first 
and most obvious advantage of using STZ is that the contents of the 
accumulator is left untouched. Ina worst-case scenario, the following 6502 
code is required when a memory location must be cleared while retaining 
the contents of the accumulator: 


PHA ;SAVE .A ON STACK 

LDA #§00 ;LOAD .A WITH 00 

STA LOCATION ;CLEAR THE MEMORY LOCATION 
PLA +RESTORE .A 


The same thing can be achieved on the 65C816 by using a single STZ 
instruction: 
STZ LOCATION 


#CLEAR THE MEMORY LOCATION 


‘These examples make clear the other advantages of. smaller code 
sizeand speed. Assuming the memory location resides above zero page, the 
6502 example requires 7 bytes of code space, while STZ requires only 3— 
taking up less than half the space. Even ifthe accumulator contents did not 
have to be saved, thus eliminating PHA and PLA, 5 bytes would still be 
required in the 6502 example. The advantage in speed is even greater, with 
the 6502 code requiring 13 cycles to execute compared to only 4 cycles for 
the STZ instruction on the 65C816 (a speed increase of over 3x). 

Ifa 16-bit memory location is to be cleared, the contest becomes even 
more lopsided, requiring the following 6502 code: 


PHA 
LDA 


STA 


#500 
LOCATION 
STA LOCATION+1 


PLA 


Assuming the 65C8 16isin 16-bit memory/accumulator mode, the same 
thing can again be achieved by a single STZ instructioi 


OCATION TION 


16-BIT LOC# 


In this comparison, the 6502 code takes up 10 bytes of space and 17 
cycles of execution time (again assuming the memory location resides 
above zero page). The 16-bit STZ on the other hand still takes up only 3 
bytes of space and executes in just 5 cycles. 

Allinall, STZ isa great instruction for saving time and code space. There 
are, however, a few things to be aware of: 


1. STZ has only four addressing modes available: Direct (Zero) Page, 
Absolute, Direct Indexed with X, and Absolute Indexed with X. This 
limits the use of this instruction to locations in Bank 0 (Bank 1 is also 
accessible through the use of Absolute Indexed with X addressing ). 


2. Experienced 6502 programmers beware! Unlike all other 6502/ 
65C816 instructions that store data to memory (i.e. STA, STX, ete.), 
STZ AFFECTS THE PROCESSOR STATUS REGISTER. Executing a 
STZ instruction always clears the Negative Flag and sets the Zero 
Flag. 


Issue 23 


37 


Absolute Indexed Addressing 

For the most part, this 65C816 addressing mode works identically to the 
way it does on the 6502. There is one case, however, that can cause 
problems if the 65C816 programmer is not aware of it. We discovered this 
difference while trying to find the reason why a certain demo program 
written for the C64 would not run on the SuperCPU, We fi arched for 
unimplemented 6502 opcodes (always guaranteed to cause the ‘816 to 
choke), but found none. Wealso tried running the demoat IMHz—again, 
no luck. However, a ‘snapshot’ copy of the program would run on the 
SuperCPU. This led us to check the programs initialization routine. The 
only unusual thing was this routine that sets up the interrupt vectors and 
some Zero Page locations: 


sINIT 
- ; LOAD 'H VALI 
;STORE TO MEMORY USING 
; ABSOLL ADDR. 
; $0009 


DONE 


After looking closely, we realized that the STA $FFFA,X instruction 
‘wrapped around’ to address $0000 after the .X register hadincrementedto 
6 . This was the programmer's intention of course—he was saving code 
space by using a single loop to set the interrupt vectors and some locations 
inzero page. Could this routine somehow bethe problem on the SuperCPU? 
After some testing, we found the answer Ifwe split the routine into 
two parts so that it did not wrap around, the program worked fine on the 
SuperCPU. The reason had finally become clear—even while in 6502 
emulation mode, the 65C816 indexes into the next bank instead of wrapping 
around when Absolute Indexed addressing is used. In other words, the 
65C816 filled the address range $010000-$010009 instead of $000000- 
$000009 when the code given in the 


mple above was executed. 


Read-Modify-Write Instructions 
Here's another issue that use trouble for the experienced C64 ML 
programmer. A favorite trick of C64 demo codersisto useasingle instruction 
like LSR $D019 to clear the VIC IRQ. Almost all demo coders use this 
shortcut, although perhaps only afew know why it works. You see, in order 
toclear the VICIRQ, a'l’ must be written to the correct bit in the interrupt 
status register at $D019. At first glance, it would seem that LSR $D019 
would probably never clear the correct bit. Logic dictates that a two- 
instruction sequence would be needed. For example, LDA $D019 followed 
by STA $D019. 

So why does LSR $D019 work? Be 


se the 6502 actually writes to the 


rst write cycle the 


target address Cwice during the instruction! During the 
6502 writes an $| 


o the target address, The final value is not written until 
xploit this little known fact by using 
nterrupt (writing $FF to $D019 will 
clearall VIC interrupt sources). The invalid $FF write cycle is something all 
6502 programmers should be aware of when addressing any hardware 
register with a Read-Modify-Write instruction. 

In Emulation mode, the 65C8 16 executes the invalid write cyel 
the 6502. In Native mode however, the designers of the '816 decided to 
makean improvement and eliminate this cycle. Asa result, 6502 programs 
that usea Read-Modify-Write instruction to accessa hardware register may 
not work on the 65C816 in Native Mode. 


just like 


Pa 
2 


COMMODORE WORLD 


Over The Kdge 


By Jeffery £. Jones 


COMMODORE PROGRAMMING 


You own a SuperCPU and you've written a 
complicated program that runs “just right” in 
20 MHz mode. Now you want to upload your 
program to everyone on the Internet or sell it 
toa company like Loadstar. I say that perhaps 
you should try your program in 1 MHz mode 
first. Fine tune it until it’s at least passable at 
the stock C-64 speed before you call it finished. 
Ican assure you that “just right" in 20 MHz 
mode is way too slow in 1 MHz mode—and 
too slow is too bad for any program. 

While developing 21st century Commodore 
programs for our SuperCPUs, we should keep 
inmind that there 


are many Commodore users 
who still appreciate efficient conscientious 
coding. 

Judi, while testing Legal Beagle I/Nast week, 
came into my office to tell me that it had 
crashed while formatting text. Much of the 
program was written in BASIC, but the BASIC 
part seemed fine with the SuperCPU engaged. 
When we returned to her office, we saw that 
the program was still operating and hadn't 
locked up. Unfortunately, it ran so ridiculously 
slow at 1 MHz that Judi thought it had locked 
up. Ten or so seconds for me translated into 
minutes for her. Garbage collection that [had 
never even noticed before was obvious at the 
slower clock speed. 

At that, [went back to my office and in three 
minutes wrote an ML routine that sped up the 


COMMODORE WORLD 


IN A SUPERCPU WORLD 


process. I also smartened-up the BASIC 
counterpart, making its job less recursive and 
at least six times faster. I was guilty of writing 
“passable” code for my SuperCPU. 

A program that's passable on a SuperCPU 
gets a failing grade on a stock C-64, Now that 
I have been conscientious toward 1 MHz 


users, my program is even better for 
SuperCPU users, because you enjoy the 
efficiency increase in both modes. Anyone 
programming for the public should try out 
their program in the slow mode. If we don't do 
this, we may inadvertently kill the C-64 while 
it's down by alienating everyone but the 
SuperCPU crowd. 

Programmers all over C-64 land are talking 
about how the SuperCPU will change how they 
will program in the future. A number of people 
whom I respect have made incredible 
statements that they will probably not 
program in machine language so much 
anymore—that they will begin writing 
programs in BASIC and then compile them. 
Afterall, compiling.a BASIC program makes it 
run 5-30 times faster, Couple that with a 
SuperCPU and it’s running 100 to 600 times 
faster than in BASIC on a stock C-64. 

Buta 100% machine language version might 
run 500 to 1000 times faster than a BASIC 
version ona stock 64 and even 10,000 to 20,000 
times faster than stock BASIC with the 


38 


SuperCPU engaged. Which program would 
you rather write? Which would you rather 
use? 

I have already proven this to myself. Last 
year I wrote a BASIC program that scanned 
for articles in an issue of C=Hacking, 
separating them off into smaller files that a 
C-64 could handle, This particular issue of 
C=Hacking was too large to fit on a 1541 disk. 
I wanted my program to scan the files for 
article names and then save the articles, using 
the article title as a filename. Compiled, it 
took an incredibly long time to separate the 
files, even with the SuperCPU engaged. 

Incredulous, I stopped the program and 
rewrote it so that it also echoed to the screen 
to show its progress. It was going through the 
file at a pace slow enough to read as it scrolled 


by. | was doing this on my hard drive with 
parallel access. The turbo light was pretty 
much on all the time, but there was a slight 
flicker. I knew that some small fraction of the 
work time was being performed at 1 ME 
Figuring I could save a lot of time, I copied 
the hacking file to my RAMLink and had the 
SuperCPU work on it there. Now the Turbo 
light was on 100% of the time. Still, 1 was 
disappointed. It was taking forever. 
Lallowed the program to sort the articles on 
a spare C-64 and a 1581 while | re-wrote the 
program, line-by- 


ine, in machine language 


Issue 23 


<A pro 
a f 
pro 
program 


(using the BASIC predecessor asa guide). This 
program wasn’t as efficient as it would have 
been had I written it from scratch instead of 
manually compiling it into machine language, 

The moment I typed SYS49152, I saw the 
first filename being saved on the destination 
disk—then the second, the third, anda minute 
or two later it was finished! This same 
algorithm separated the issue into smaller files 
in about the time it would take the built-in 
JiffyDOS file copier to copy the file—with or 
without SuperCPU! This was somewhere 
around twenty blocks per second. The 
compiled BASIC program took at least half an 
hour ona JiffyDOS-equipped 1581. Mind you, 
all of Loadstar’s systems are JiffyDOS 
equipped. I can only imagine the agony if I 
tried the compiled program on an 800-block 
file without JiffyDOS. Without a SuperCPU 
and a RAMLink, the ML program could get 
the job done in maybe a minute or two with 
JiffyDOS. Clearly, even the most optimized 
compiled BASIC at 20 MHzcan'tholda candle 
to machine language at 1 MHz. 

You might ask how we lose when a veteran 
programmer hangs up his assembler and 
writes perhaps more elaborate programs in 
BASIC. Well however you look at it, 
abandoning ML for the pseudocode of most 
Commodore compilers is a net lo 
especially for the people without SuperCPUs. 
When you think aboutit, the ML programmer 
who switches to BASIC or compiled BASIC 
because of the added speed of the SuperCPU is 
offering a product that runs 100 or so times 
slower than the ML version in the hopes of 
having the program run 20 times faster on the 
SuperCPU. 

Imagine if Eric Lee decided that his next 
incarnation of The Write Stuffcould be written 
in compiled BASIC. It would probably seem 
fast enough for most short letters without 
machine language. I know because I wrote 
Feedback Machine—published on every issue 


Issue 23 


of Loadstar—in compiled BASIC, with only a 
little ML for the scrolling window. It’s “okay” 
for jotting a note to us, but not for serious 
applications. With the SuperCPU it seems to 
dle any amount of text in its buffer as if 
weightless. As a matter of fact, I don’t even 
need ML to scroll the screen re-printing... the 


whole screen works fine for a compiled 
program. But without the SuperCPU, you see 
the unprofessional inchworm effect. 

If I assumed that everyone who used it 
owned a SuperCPU, I could easily add all sorts 
of ambitious word processor features to it. 
People with SuperCPUs would appreciate the 
features. People without it would call the 
program clunky for overreaching its scope. 
Too slow is bad for any program. In contrast 
to Feedback Machine, The Write Stuffis fine 
for short letters as well as 100-block 
applications—with or without a SuperCPU— 
because it was written in 100% Machine 
nguage. With the SuperCPU, it’s truly 
marvelous. 


Anyone who has written stories with 
Speedscript or The Write Stuff knows that 
once you get around 80 blocks, you don't want 
to type anything up near the top of the 
document. Each inserted character takes 
nearly a si 


cond to show up. It becomes very 
a good typist to type ahead of the 
keyboard buffer. With the SuperCPU engaged, 
you notice no delays, and the text seems 
weightless right down to the last byte. If the 
program were written in compiled BASIC, this 
marvelous weightlessness would be lost—even 
in 20 MHz mode. 

While it’s true that programs seem to fly 
with the SuperCPU engaged, that’s no reason 
to abandon all the efficient: programming 
practices that a 1MHz 64K computer has 
forced us to adhere to all these years. Ignoring 
this warning will spiral Commodore 64 
programs into the abyss of mediocrity that 
Windows has suffered from. 


39 


v » public should try 
the slow mode.” 


Fortunately we have memory restrictions 
that keep us from using all-inclusive libraries 
that make our final program so large that we 
need megabytes to fit them in memory. 
However, we are still vulnerable toa quantum 
shift toward less efficient programs, 
Undoubtedly these slower programs will have 
a larger scope, but l implore all programmers 
out there to make their programs as fast as 
possible. These slower programs will be decent 
on SuperCPUs, but will be ridiculously slow 
ona stock unit, Any sort of file utility must be 
written in machine language for it not to seem 
a complete joke. 

In closing, there is certainly a place for 
compiled code in the future. am in fact writing 
a very complicated program that (ouch) 
compiles toolbox commands into pure 
machine language. I’m writing it in BASIC 
because it’s so intricate, and will | will compile 
it when it's done. I will not, however, allow my 
compiler to take more than a few moments to 
compile a program of only a few blocks. Right 
now, in BASIC, it takes minutes to compile a 
three-block program. Compiled, the process 
isn’t much faster. Adding machine language 
to the parsing and disk access routines will 
easily make my next project just what I want 
and need. 

Nowis the time to takea cue from our demo- 
coding friends, These are people who strive to 
write fast, tight code. I want to see incredibly 
fast programs running on SuperCPUs. I want 
to see people striving to get their subroutines 
down below one millionth ofa second, instead 
of settling for a thousandth of a second. In a 
complicated loop, a thousandth of a second 
adds up to seconds of waiting time very 
quickly. If we strive for the same efficiency 
that Commodore users are accustomed to, we 
will not only keep the stock users happy; we'll 
write extremely impressive code for the 
SuperCPU. 


© 


COMMODORE WORLD 


* CLASSI 


C-128-2 DRIVES-MONITOR-PRINTER-RAM XPANS-MODEM- 


ion is $17.00 for 12 issues [US], $19.00 Canada, Mexic: 
and South America;$21.00 elsewhere. Input 
Journal. Email wepat@iglou.com or write: 
GEOS Publication 
7969 Woodcrest Dr. 
Louisville, KY 40219-3859 


\dresource 


COMMODORE WORLD 
Classified Advertising 


Commodore Worldsubscribers may place non-commercial 
classified advertising in Commodore World at a cost of 
$10.00 per issue. Your advertisement may contain up to 
150 characters (including spaces). Send your 
advertisement with paymentto: CW Classified Advertising, 
c/o Creative Micro Designs, Inc., P.O. Box 646, East 
Longmeadow MA 01028-0646. 


ls your Commodore World subscription close to ‘a 
running out? Here's an easy way to check: look at the mailing label on the 
front of your copy. You'll find your subscription number and the expiration 
issue number. For example: 


Don’t wait until it’s too late... 


; Smith 


1 


Jim's subscription will run out with Issue 24 as indicated by the 
EXP24 in his subscription code. Jim would be wise to re-subscribe 
early to avoid missing a single issue of Commodore World! 


COMMODORE WORLD 40 


ADVERTISERS 
INDEX 


Centsible Software... 

Click Here Software . 

Commodore Country... 
Commodore Power User Magazine 


Commodore World 
Computer Bargain Store .... 
... IFC,11,20-23,25,33,40,IBC,OBC 
GEOS Publication .... . 40 
J.P. Products by Mail 
Loadstar 
LUCKY/KDS..... 
Meeting 64/128 Users Through The Mail 
Raymond Computer. 
Videocam Services .. 
Vintage Computers 


ChAD Service Center 


AFFORDABLE ¢ FAST « DEPENDABLE 


Call Today 1-800-638-3263 


Our Team of Technicians are Among the 
Most Qualified in the Industry! 
hy Settle for Anything Less Than the Best? 
We repair the following equipment: Commodore C-64, 64C, SX-64, C-128 
and C128-D computers; 1541, 1541C, 1571 and 1581 Disk Drives plus 
CMD Devices. JiffyDOS Installations a specialty. All repairs warranted for 
30 days. Minimum charge $35.00 plus parts and return shipping. You must 
contact CMD for authorization before sending any equipment. 
ive Micro Designs, Inc. P.O. Box 646 E, Longmeadow, MA 01028 


Don’t forget 
COMMODORGe 


ALD! 


Please call or write with your change of 
address 6 to 8 weeks prior to your move so 
that you won't miss a single issue! 

CW Adaress Change, P.O. Box 646, 

E. Longmeadow, MA 01028 
413-525-0023 


Issue 23 


Shatter 
the 1MHz 
Barrier 


i 


~ -THESUPEREPU INCREASES YOUR;COMPUTERS = — 
PROGESSING: SPEED BY MORE THAN 20 TIMES!) SIMPLY, 
PLUG IT:INIAND WATCH OLD PROGRAMS COMETO LIFE 
AND-BEGIN/DREANING (ABOUT THE POWERFUL NEW) GENERATION 
OF SUPEROPU COMPATIBLE SOFWARE FOR 19970 


Programs will suddenly spring to life—screens and menus * 
pop up instantly, scrolling becomes fluid, and graphics fly. A 
Commodore equipped with the SuperCPU is like having a 
Volkswagen with a V-8, There's one small exception—the 
SuperCPU rides much smoother. Even though the SuperCPU 
gives your computer a radical increase in horsepower (up to 

22 times faster), its operating system makes that power 
usable by maintaining compatibility with most existing 
software and making its operation transparent to the user. 


Looking to the future, the powerful 65816 microprocessor gives 
programmers vast new resources to create powerful and 
sophisticated software. With its 16-bit registers, up to 16 MB of 
system memory, and 6502/6510/8502 emulation, the 
SuperCPU makes it easy to enhance existing software as well 
as providing the power to create Internet browsers, animation 
and other high-tech applications! The SuperCPU provides a 


bright future for a new generation of Commodore computing. 


So join the Commodore revolution and order a powerful new 
SuperCPU TODAY! 


SurenCPu G4 $199.00* 
SuPenCPwl 128 $259.00* 


* Plus Shipping 


What will the SuperCPU do for me? Ultra Fast * Compatible « 


Easy-to-use 
High-Speed microprocessor, 128K or 256K of fast RAM, 
advanced hardware logic, and up to 512K ROM enable 
you to run all types of existing commercial software at 
speeds up to 22 times faster than stock machines. 


BASIC programs, including most Bulletin Board Systems, 
seem to run as fast as machine language, and compiled 
BASIC programs run faster than ever! 

Commercial machine language programs (databases, 
spreadsheets, word processors, telecommunications, 
graphics, etc.) run so fast that you'll think your running 
them on another computer! 

GEOS comes alive—No typing or scrolling delays, graphic 
operations happen instantly, faster printing and disk 
access! Includes enhanced GEOS setup utility! 
Easy-to-use: Plug it into your cartridge port** and start 
working—no special adjustments needed. 

Built-in JiffyDOS Kernal boosts disk access speed up to 
15x faster with JiffyDOS equipped drives. 

Pass-thru port provides compatibility with RAMLink, 
SwiftLink, GEORAM, 17xx REU's and other cartridges. 
Unit Enable/Disable, JiffyYDOS On/Off, Normal/Turbo, and 
Reset switches make using the SuperCPU a snap! 


| 
| 
| 
| 


The weit fis ever. 


Have you been waiting for the most powerful image editing tool ever devised for 
the Commodore 64? Are you ready for a program that not only converts between 
many of the popular Commodore and non-Commodore image formats, but also lets 
you combine images in a myriad of ways, and apply special effects? IF you answered 
yes to these questions, then your wait is over. Prepare to be creative, to explore new 
ideas, and to do the kind of things you thought you'd never do with a Commodore. 


Combine Several Images Easily Convert Between Many Formats Dither Color & ava Images Apply Special Effects Like Cartoon To Any Image 
program (Creators 


Arndt Dettke » » Wolfgang King 


dlisted! (nthe Untied stakes by 


Creative Miao Desions, Inc)